Buggy code:
protected int contentLength = - 1 ; protected int available = - 1 ; protected MessageBytes contentTypeMB = null ; protected String charEncoding = null ; protected MessageBytes serverNameMB = new MessageBytes ( ) ; protected String authType ; boolean notAuthenticated = true ; protected String remoteUser ; protected Principal principal ; protected String [ ] userRoles ; protected String [ ] reqRoles ; protected Response response ; protected ContextManager contextM ; protected Context context ; protected Object requestFacade ; protected String reqSessionId ; protected String sessionIdSource ; protected String sessionId ; protected ServerSession serverSession ; protected Handler handler = null ; Container container ; protected Cookies scookies ; Request top ; Request parent ; Request child ; protected UDecoder urlDecoder ; Exception errorException ; private Object [ ] notes = new Object [ ContextManager . MAX_NOTES ] ; public Request ( ) { } public final int getState ( ) { } final void setState ( int state ) { } public void setContext ( Context context ) { } public Context getContext ( ) { } public UDecoder getURLDecoder ( ) { } private int encodingInfo ; private int attributeInfo ; public void setContextManager ( ContextManager cm ) { } public ContextManager getContextManager ( ) { } public Object getFacade ( ) { } public void setFacade ( Object facade ) { } public void setResponse ( Response response ) { } public Response getResponse ( ) { } public MimeHeaders getMimeHeaders ( ) { } public MessageBytes scheme ( ) { } public MessageBytes method ( ) { } public MessageBytes requestURI ( ) { } public MessageBytes unparsedURI ( ) { } public MessageBytes query ( ) { } public MessageBytes queryString ( ) { } public MessageBytes servletPath ( ) { } public MessageBytes pathInfo ( ) { } public MessageBytes protocol ( ) { } public MessageBytes serverName ( ) { } public int getServerPort ( ) { } public void setServerPort ( int serverPort ) { } public MessageBytes remoteAddr ( ) { } public MessageBytes remoteHost ( ) { } public String getLocalHost ( ) { } public void setLocalHost ( String host ) { } public void handlePostParameters ( ) { } public void handleQueryParameters ( ) { } private static int CACHED_POST_LEN = 8192 ; private byte [ ] postData = null ; public Parameters parameters ( ) { } public String getCharacterEncoding ( ) { } public void setCharEncoding ( String enc ) { } public void setContentLength ( int len ) { } public int getContentLength ( ) { } public String getContentType ( ) { } public void setContentType ( String type ) { } public MessageBytes contentType ( ) { } public void setContentType ( MessageBytes mb ) { } public void setAuthType ( String authType ) { } public String getAuthType ( ) { } public void setRemoteUser ( String s ) { } public String getRemoteUser ( ) { } public boolean isSecure ( ) { } public void setUserPrincipal ( Principal p ) { } public Principal getUserPrincipal ( ) { } public void setRequiredRoles ( String [ ] roles ) { } public String [ ] getRequiredRoles ( ) { } public void setUserRoles ( String [ ] roles ) { } public String [ ] getUserRoles ( ) { } private String [ ] checkRoles = new String [ 1 ] ; public boolean isUserInRole ( String role ) { checkRoles [ 0 ] = role ; int status = 0 ; BaseInterceptor [ ] reqI = getContainer ( ) . getInterceptors ( H_authorize ) ; for ( int i = 0 ; i < ( reqI . length ) ; i ++ ) { status = reqI [ i ] . authorize ( this , response , checkRoles ) ; <START_BUG> if ( status != 0 ) { <END_BUG> break ; } } return status == 0 ; } public String getJvmRoute ( ) { } public void setJvmRoute ( String jvmRoute ) { } public String getRequestedSessionId ( ) { } public void setRequestedSessionId ( String reqSessionId ) { } public String getSessionIdSource ( ) { } public void setSessionIdSource ( String s ) { } public void setSessionId ( String id ) { } public String getSessionId ( ) { } public void setSession ( ServerSession serverSession ) { } public ServerSession getSession ( boolean create ) { } public Cookies getCookies ( ) { } public Handler getHandler ( ) { } public void setHandler ( Handler handler ) { } public Container getContainer ( ) { } public void setContainer ( Container container ) { } public Object getAttribute ( String name ) { } public void setAttribute ( String name , Object value ) { } public void removeAttribute ( String name ) { } public Enumeration getAttributeNames ( ) { } public Request getParent ( ) { } public void setParent ( Request req ) { } public Request getChild ( ) { } public void setChild ( Request req ) { } public Request getTop ( ) { } public Enumeration getHeaders ( String name ) { } public String getHeader ( String name ) { } public Enumeration getHeaderNames ( ) { } public void setAvailable ( int len ) { } public int getAvailable ( ) { } public int doRead ( byte [ ] b , int off , int len ) throws IOException { } byte [ ] b = new byte [ 1 ] ; public int doRead ( ) throws IOException { } public int readBody ( byte [ ] body , int len ) throws IOException { } public String toString ( ) { } public final void setNote ( int pos , Object value ) { } public final Object getNote ( int pos ) { } public void recycle ( ) { } public void initRequest ( ) { } }

Fix:
if ( status != ( BaseInterceptor . DECLINED ) ) {