Buggy code:
public class Handler { public static final int ACC_LAST_ACCESSED = 0 ; public static final int ACC_INVOCATION_COUNT = 1 ; public static final int ACC_SERVICE_TIME = 2 ; public static final int ACC_ERRORS = 3 ; public static final int ACC_OVERHEAD = 4 ; public static final int ACC_IN_INCLUDE = 5 ; public static final int ACCOUNTS = 6 ; public static final int ORIGIN_WEB_XML = 0 ; public static final int ORIGIN_INVOKER = 1 ; public static final int ORIGIN_JSP = 2 ; public static final int ORIGIN_DYNAMIC = 3 ; public static final int ORIGIN_ADMIN = 4 ; protected Context context ; protected ContextManager contextM ; protected String name ; protected boolean initialized = false ; Hashtable initArgs = null ; protected int origin ; protected boolean internal = false ; protected String path ; protected String servletClassName ; protected String servletName ; protected int loadOnStartup = - 1 ; protected boolean loadingOnStartup = false ; protected int debug = 0 ; protected String debugHead = null ; private Counters cntr = new Counters ( Handler . ACCOUNTS ) ; private Object [ ] notes = new Object [ ContextManager . MAX_NOTES ] ; public Handler ( ) { } public void setContext ( Context context ) { } public Context getContext ( ) { } public void reload ( ) { } public boolean isInternal ( ) { } public String getName ( ) { } public void setName ( String servletName ) { } public void setOrigin ( int origin ) { } public int getOrigin ( ) { } public final Counters getCounters ( ) { } public String getServletName ( ) { } public void setServletName ( String servletName ) { } public String getServletClass ( ) { } public void setServletClass ( String servletClassName ) { } public void setLoadOnStartUp ( int level ) { } public int getLoadOnStartUp ( ) { } public void setLoadingOnStartUp ( boolean load ) { } public boolean getLoadingOnStartUp ( ) { } public String getPath ( ) { } public void setPath ( String path ) { } public void addInitParam ( String name , String value ) { } public String getInitParameter ( String name ) { } public Enumeration getInitParameterNames ( ) { } public void destroy ( ) throws Exception { } public void init ( ) throws Exception { } public void service ( Request req , Response res ) { if ( ! ( initialized ) ) { try { synchronized ( this ) { if ( ! ( initialized ) ) init ( ) ; } } catch ( Exception ex ) { initialized = false ; if ( ex instanceof ClassNotFoundException ) { contextM . handleStatus ( req , res , 404 ) ; return ; } context . log ( ( "Exception<seq2seq4repair_space>in<seq2seq4repair_space>init<seq2seq4repair_space>" + ( ex . getMessage ( ) ) ) , ex ) ; contextM . handleError ( req , res , ex ) ; return ; } } <START_BUG> BaseInterceptor [ ] reqI = contextM . getInterceptors ( req , H_postService ) ; <END_BUG> if ( ! ( internal ) ) { for ( int i = 0 ; i < ( reqI . length ) ; i ++ ) { reqI [ i ] . preService ( req , res ) ; } } Throwable t = null ; try { doService ( req , res ) ; } catch ( Throwable t1 ) { t = t1 ; } if ( ! ( internal ) ) { for ( int i = 0 ; i < ( reqI . length ) ; i ++ ) { reqI [ i ] . postService ( req , res ) ; } } if ( t == null ) return ; contextM . handleError ( req , res , t ) ; } protected void doDestroy ( ) throws Exception { } protected void doInit ( ) throws Exception { } protected void doService ( Request req , Response res ) throws Exception { } public String toString ( ) { } public final void setDebug ( int d ) { } protected final void log ( String s ) { } protected final void log ( String s , Throwable t ) { } public final void setNote ( int pos , Object value ) { } public final Object getNote ( int pos ) { } }

Fix:
BaseInterceptor [ ] reqI = req . getContainer ( ) . getInterceptors ( H_postService ) ;