public void addLast(IFlowResolver resolver) { var ctx = new WrappedResolver(resolver); if (tail == null) { tail = head; } tail.Next = ctx; tail = ctx; }
public void remove(IFlowResolver resolver) { var current = head; var previous = head; while (current != null) { if (current.Resolver == resolver) { previous.Next = current.Next; if (current == tail) { tail = previous; } } //Prepare for next check previous = current; current = current.Next; } }