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; } }
public WrappedResolver(IFlowResolver resolver, IFlowResolver next) : this(resolver, new WrappedResolver(next)) { }
public WrappedResolver(IFlowResolver resolver, WrappedResolver next) : this(resolver) { this.Next = next; }
public WrappedResolver(IFlowResolver resolver) { this.Resolver = resolver; }