if ((_delayedInputTokensList.size() != 0)
&& _delayedOutputTokens.isEmpty()) {
// NOTE: the input has a fixed data type as double.
DoubleToken delayToken = (DoubleToken) _delayedInputTokensList
.removeFirst();
double delay = delayToken.doubleValue();
_nextTimeFree = currentTime.add(delay);
_delayedOutputTokens.put(new TimedEvent(_nextTimeFree, value
.getToken()));
getDirector().fireAt(this, _nextTimeFree);
}