protected boolean _removeCurrentTimeFromBreakpointTable()
throws IllegalActionException {
// NOTE: We only remove elements from breakpoint table in this method
// and the postfire() method of the CT director.
boolean currentTimeIsABreakpoint = false;
TotallyOrderedSet breakPoints = getBreakPoints();
Time now = getModelTime();
// If the current time is a breakpoint, remove it from table.
if ((breakPoints != null) && !breakPoints.isEmpty()) {
if (breakPoints.contains(now)) {
// The current time is a break point.
currentTimeIsABreakpoint = true;
Time time = (Time) breakPoints.removeFirst();
if (time.compareTo(now) < 0) {
// This should not happen for CTMultisolverDirector,
// but it is possible for CTEmbeddedDirector.
// When a CT refinement is made inactive for a long time
// and reentered, the previously stored breakpoints may
// be in the past... The same thing happens in the
// prefire() method of DE director.
breakPoints.removeAllLessThan(now);
}
if (_debugging) {
_debug("Remove " + now + " from the break-point list.");
}