public void addInterceptor(int index, Interceptor interceptor) { int i = 0; Interceptor next = interceptorChainHead; Interceptor prev = null; while (next != null && i < index) { prev = next; next = next.getNext(); i++; } if (i == index) { if (prev != null) { prev.setNext(interceptor); } else { interceptorChainHead = interceptor; } interceptor.setNext(next); if (next == null) { interceptorChainTail = interceptor; } } else { throw new ArrayIndexOutOfBoundsException(index); } }
public void addInterceptor(int index, Interceptor interceptor) { int i = 0; Interceptor next = interceptorChainHead; Interceptor prev = null; while (next != null && i < index) { prev = next; next = next.getNext(); i++; } if (i == index) { if (prev != null) { prev.setNext(interceptor); } else { interceptorChainHead = interceptor; } interceptor.setNext(next); if (next == null) { interceptorChainTail = interceptor; } } else { throw new ArrayIndexOutOfBoundsException(index); } }