Buggy code:
public abstract class SolrTestCaseJ4 extends LuceneTestCase { @ BeforeClass public static void beforeClassSolrTestCase ( ) throws Exception { } @ AfterClass public static void afterClassSolrTestCase ( ) throws Exception { } public static void closeDirectories ( ) throws Exception { } @ Override public void setUp ( ) throws Exception { } @ Override public void tearDown ( ) throws Exception { } public static void initCore ( String config , String schema ) throws Exception { } public static void initCore ( String config , String schema , String solrHome ) throws Exception { } static long numOpens ; static long numCloses ; public static void startTrackingSearchers ( ) { } public static void endTrackingSearchers ( ) { } public static void ignoreException ( String pattern ) { } public static void resetExceptionIgnores ( ) { } protected static String getClassName ( ) { } protected static String getSimpleClassName ( ) { } protected static String configString ; protected static String schemaString ; protected static SolrConfig solrConfig ; protected static TestHarness h ; protected static LocalRequestFactory lrf ; public static String getSchemaFile ( ) { } public static String getSolrConfigFile ( ) { } protected static File dataDir ; public static Logger log = LoggerFactory . getLogger ( SolrTestCaseJ4 . class ) ; private static String factoryProp ; public static void createTempDir ( ) { } public static void initCore ( ) throws Exception { } public void postSetUp ( ) { } public void preTearDown ( ) { } public static void deleteCore ( ) throws Exception { } public static void assertU ( String update ) { } public static void assertU ( String message , String update ) { } public static void assertFailedU ( String update ) { } public static void assertFailedU ( String message , String update ) { } private static void checkUpdateU ( String message , String update , boolean shouldSucceed ) { } public static void assertQ ( SolrQueryRequest req , String ... tests ) { } public static void assertQ ( String message , SolrQueryRequest req , String ... tests ) { } public static void assertJQ ( SolrQueryRequest req , String ... tests ) throws Exception { } public static void assertJQ ( SolrQueryRequest req , double delta , String ... tests ) throws Exception { } public static void assertQEx ( String message , SolrQueryRequest req , int code ) { } public static void assertQEx ( String message , SolrQueryRequest req , SolrException . ErrorCode code ) { } public static String optimize ( String ... args ) { } public static String commit ( String ... args ) { } public static String adoc ( String ... fieldsAndValues ) { } public static String adoc ( SolrInputDocument sdoc ) { } public static String add ( SolrTestCaseJ4 . XmlDoc doc , String ... args ) { } public static String delI ( String id ) { } public static String delQ ( String q ) { } public static SolrTestCaseJ4 . XmlDoc doc ( String ... fieldsAndValues ) { } public static ModifiableSolrParams params ( String ... params ) { } public static SolrQueryRequest req ( String ... q ) { } public static SolrQueryRequest req ( String [ ] params , String ... moreParams ) { } public static SolrQueryRequest req ( SolrParams params , String ... moreParams ) { } public static class XmlDoc { public String xml ; @ Override public String toString ( ) { } } public static boolean recurseDelete ( File f ) { } public void clearIndex ( ) { } public static String updateJ ( String json , SolrParams args ) throws Exception { SolrCore core = SolrTestCaseJ4 . h . getCore ( ) ; DirectSolrConnection connection = new DirectSolrConnection ( core ) ; <START_BUG> SolrRequestHandler handler = core . getRequestHandler ( "//udate//json" ) ; <END_BUG> if ( handler == null ) { handler = new JsonUpdateRequestHandler ( ) ; handler . init ( null ) ; } return connection . request ( handler , args , json ) ; } public abstract static class Vals { public abstract Comparable get ( ) { } public String toJSON ( Comparable val ) { } protected int between ( int min , int max ) { } } public abstract static class IVals extends SolrTestCaseJ4 . Vals { public abstract int getInt ( ) { } } public static class IRange extends SolrTestCaseJ4 . IVals { final int min ; final int max ; public IRange ( int min , int max ) { } @ Override public int getInt ( ) { } @ Override public Comparable get ( ) { } } public static class FVal extends SolrTestCaseJ4 . Vals { final float min ; final float max ; public FVal ( float min , float max ) { } public float getFloat ( ) { } @ Override public Comparable get ( ) { } } public static class SVal extends SolrTestCaseJ4 . Vals { char start ; char end ; int minLength ; int maxLength ; public SVal ( ) { } public SVal ( char start , char end , int minLength , int maxLength ) { } @ Override public Comparable get ( ) { } } public static final SolrTestCaseJ4 . IRange ZERO_ONE = new SolrTestCaseJ4 . IRange ( 0 , 1 ) ; public static final SolrTestCaseJ4 . IRange ZERO_TWO = new SolrTestCaseJ4 . IRange ( 0 , 2 ) ; public static final SolrTestCaseJ4 . IRange ONE_ONE = new SolrTestCaseJ4 . IRange ( 1 , 1 ) ; public static class Doc implements Comparable { public Comparable id ; public List < SolrTestCaseJ4 . Fld > fields ; public int order ; @ Override public String toString ( ) { } @ Override public int hashCode ( ) { } @ Override public boolean equals ( Object o ) { }

Fix:
SolrRequestHandler handler = core . getRequestHandler ( "//update//json" ) ;