public void callLater(double delayMilliseconds,
				IRunnable callback)
        {
            DelayedCallTable.Entry  entry = new DelayedCallTable.Entry (delayMilliseconds, callback);
            // Insert into table_, sorted on getCallTime().
            // Search from the back since we expect it to go there.
            int i = table_.Count - 1;
            while (i >= 0) {
                if ((table_[i]).getCallTime() <= entry.getCallTime())
                    break;
                --i;
            }
            // Element i is the greatest less than or equal to
            // entry.getCallTime(), so insert after it.
            table_.Insert(i + 1, entry);
        }
        public void callLater(double delayMilliseconds,
                              IRunnable callback)
        {
            DelayedCallTable.Entry entry = new DelayedCallTable.Entry(delayMilliseconds, callback);
            // Insert into table_, sorted on getCallTime().
            // Search from the back since we expect it to go there.
            int i = table_.Count - 1;

            while (i >= 0)
            {
                if ((table_[i]).getCallTime() <= entry.getCallTime())
                {
                    break;
                }
                --i;
            }
            // Element i is the greatest less than or equal to
            // entry.getCallTime(), so insert after it.
            table_.Insert(i + 1, entry);
        }