Buggy code:
public class LazyRequestMap extends AFn implements IPersistentMap , NginxRequest { private static final Object [ ] default_request_array = new Object [ ] { Constants . URI , MiniConstants . URI_FETCHER , Constants . BODY , MiniConstants . BODY_FETCHER , Constants . HEADERS , Constants . HEADER_FETCHER , Constants . SERVER_PORT , MiniConstants . SERVER_PORT_FETCHER , Constants . SERVER_NAME , MiniConstants . SERVER_NAME_FETCHER , Constants . REMOTE_ADDR , MiniConstants . REMOTE_ADDR_FETCHER , Constants . QUERY_STRING , MiniConstants . QUERY_STRING_FETCHER , Constants . SCHEME , MiniConstants . SCHEME_FETCHER , Constants . REQUEST_METHOD , Constants . REQUEST_METHOD_FETCHER , Constants . CONTENT_TYPE , MiniConstants . CONTENT_TYPE_FETCHER , Constants . CHARACTER_ENCODING , MiniConstants . CHARACTER_ENCODING_FETCHER } ; protected int validLen ; protected long r ; protected Object [ ] array ; protected NginxHandler handler ; protected NginxHttpServerChannel channel ; protected byte [ ] hijackTag ; protected int phase = - 1 ; protected volatile boolean released = false ; protected List < AbstractMap . SimpleEntry < Object , ChannelListener < Object > > > listeners ; public static final LazyRequestMap EMPTY_MAP = new LazyRequestMap ( null , 0 , null , new Object [ 0 ] ) ; private static final ChannelListener < NginxRequest > requestListener = NginxJavaRequest . requestListener ; public LazyRequestMap ( NginxHandler handler , long r , byte [ ] hijackTag , Object [ ] array ) { } @ SuppressWarnings ( "unchecked" ) public LazyRequestMap ( NginxHandler handler , long r ) { } private LazyRequestMap ( LazyRequestMap or , Object [ ] a ) { } public void reset ( long r , NginxClojureHandler handler ) { } public void prefetchAll ( ) { } protected int index ( Object key ) { } @ Override public Iterator iterator ( ) { } @ Override public IMapEntry entryAt ( Object key ) { } @ Override public int count ( ) { } @ Override public IPersistentCollection cons ( Object o ) { } @ Override public IPersistentCollection empty ( ) { } @ Override public boolean equiv ( Object o ) { } static class ArrayMapSeq extends ASeq implements Counted { final int i ; final LazyRequestMap reqMap ; ArrayMapSeq ( LazyRequestMap reqMap , int i ) { } public ArrayMapSeq ( IPersistentMap meta , LazyRequestMap reqMap , int i ) { } public Object first ( ) { } public ISeq next ( ) { <START_BUG> if ( ( ( i ) + 2 ) < ( reqMap . array . length ) ) <END_BUG> return new LazyRequestMap . ArrayMapSeq ( reqMap , ( ( i ) + 2 ) ) ; return null ; } public int count ( ) { } public Obj withMeta ( IPersistentMap meta ) { } } @ Override public ISeq seq ( ) { } protected Object element ( int i ) { } @ Override public Object valAt ( Object key ) { } @ Override public Object valAt ( Object key , Object notFound ) { } @ Override public IPersistentMap assoc ( Object key , Object val ) { } @ Override public IPersistentMap assocEx ( Object key , Object val ) { } @ Override public IPersistentMap without ( Object key ) { } public long nativeRequest ( ) { } @ Override public boolean containsKey ( Object key ) { } @ Override public Object invoke ( Object key ) { } @ Override public Object invoke ( Object key , Object notFound ) { } @ Override public NginxHandler handler ( ) { } @ Override public NginxHttpServerChannel channel ( ) { } @ Override public boolean isHijacked ( ) { } @ Override public boolean isReleased ( ) { } @ Override public int phase ( ) { } public boolean isWebSocket ( ) { } protected LazyRequestMap phase ( int phase ) { } @ Override public String toString ( ) { } @ Override public < T > void addListener ( final T data , final ChannelListener < T > listener ) { } @ Override public void tagReleased ( ) { } @ Override public List < AbstractMap . SimpleEntry < Object , ChannelListener < Object > > > listeners ( ) { } @ Override public String uri ( ) { } @ Override public NginxHttpServerChannel hijack ( boolean ignoreFilter ) { } public long nativeCount ( ) { } No newline ; at end ; of file ; }

Fix:
if ( ( ( i ) + 2 ) < ( reqMap . validLen ) )