private void MoveBehind(ScheduledAction scheduledAction, ScheduledAction predecessor)
{
if (predecessor != null)
{
scheduledAction.PrevAction = predecessor;
scheduledAction.NextAction = predecessor.NextAction;
if (predecessor.NextAction != null)
{
predecessor.NextAction.PrevAction = scheduledAction;
}
predecessor.NextAction = scheduledAction;
}
else
{
if (_first != null)
{
_first.PrevAction = scheduledAction;
}
scheduledAction.NextAction = _first;
_first = scheduledAction;
}
}