Buggy code:
public class SpellCheckComponent extends SearchComponent implements SpellingParams , SolrCoreAware { private static final Logger LOG = Logger . getLogger ( SpellCheckComponent . class . getName ( ) ) ; public static final boolean DEFAULT_ONLY_MORE_POPULAR = false ; public static final String COMPONENT_NAME = "spellcheck" ; @ SuppressWarnings ( "unchecked" ) protected NamedList initParams ; protected Map < String , SolrSpellChecker > spellCheckers = new ConcurrentHashMap < String , SolrSpellChecker > ( ) ; protected QueryConverter queryConverter ; @ Override @ SuppressWarnings ( "unchecked" ) public void init ( NamedList args ) { } @ Override @ SuppressWarnings ( "unchecked" ) public void prepare ( ResponseBuilder rb ) throws IOException { } @ Override @ SuppressWarnings ( "unchecked" ) public void process ( ResponseBuilder rb ) throws IOException { } private Collection < Token > getTokens ( String q , Analyzer analyzer ) throws IOException { } protected SolrSpellChecker getSpellChecker ( SolrParams params ) { } public SolrSpellChecker getSpellChecker ( String name ) { } protected NamedList toNamedList ( SpellingResult spellingResult , String origQuery , boolean extendedResults , boolean collate ) { } public void inform ( SolrCore core ) { if ( ( initParams ) != null ) { SpellCheckComponent . LOG . info ( "Initializing<seq2seq4repair_space>spell<seq2seq4repair_space>checkers" ) ; boolean hasDefault = false ; for ( int i = 0 ; i < ( initParams . size ( ) ) ; i ++ ) { if ( initParams . getName ( i ) . equals ( "spellchecker" ) ) { NamedList spellchecker = ( ( NamedList ) ( initParams . getVal ( i ) ) ) ; String className = ( ( String ) ( spellchecker . get ( "classname" ) ) ) ; if ( className == null ) className = IndexBasedSpellChecker . class . getName ( ) ; SolrResourceLoader loader = core . getResourceLoader ( ) ; SolrSpellChecker checker = ( ( SolrSpellChecker ) ( loader . newInstance ( className ) ) ) ; if ( checker != null ) { <START_BUG> String dictionary = checker . init ( spellchecker , loader ) ; <END_BUG> if ( dictionary != null ) { boolean isDefault = dictionary . equals ( DEFAULT_DICTIONARY_NAME ) ; if ( ( isDefault == true ) && ( hasDefault == false ) ) { hasDefault = true ; } else if ( ( isDefault == true ) && ( hasDefault == true ) ) { throw new RuntimeException ( "More<seq2seq4repair_space>than<seq2seq4repair_space>one<seq2seq4repair_space>dictionary<seq2seq4repair_space>is<seq2seq4repair_space>missing<seq2seq4repair_space>name." ) ; } spellCheckers . put ( dictionary , checker ) ; } else { if ( hasDefault == false ) { spellCheckers . put ( DEFAULT_DICTIONARY_NAME , checker ) ; hasDefault = true ; } else { throw new RuntimeException ( "More<seq2seq4repair_space>than<seq2seq4repair_space>one<seq2seq4repair_space>dictionary<seq2seq4repair_space>is<seq2seq4repair_space>missing<seq2seq4repair_space>name." ) ; } } } else { throw new RuntimeException ( ( "Can't<seq2seq4repair_space>load<seq2seq4repair_space>spell<seq2seq4repair_space>checker:<seq2seq4repair_space>" + className ) ) ; } } } String xpath = "queryConverter" ; SolrConfig solrConfig = core . getSolrConfig ( ) ; NodeList nodes = ( ( NodeList ) ( solrConfig . evaluate ( xpath , XPathConstants . NODESET ) ) ) ; Map < String , QueryConverter > queryConverters = new HashMap < String , QueryConverter > ( ) ; NamedListPluginLoader < QueryConverter > loader = new NamedListPluginLoader < QueryConverter > ( ( "[solrconfig.xml]<seq2seq4repair_space>" + xpath ) , queryConverters ) ; loader . load ( solrConfig . getResourceLoader ( ) , nodes ) ; if ( ( queryConverters . size ( ) ) == 1 ) { queryConverter = queryConverters . values ( ) . iterator ( ) . next ( ) ; IndexSchema schema = core . getSchema ( ) ; String fieldTypeName = ( ( String ) ( initParams . get ( "queryAnalyzerFieldType" ) ) ) ; FieldType fieldType = schema . getFieldTypes ( ) . get ( fieldTypeName ) ; Analyzer analyzer = ( fieldType == null ) ? new WhitespaceAnalyzer ( ) : fieldType . getQueryAnalyzer ( ) ; queryConverter . setAnalyzer ( analyzer ) ; } else { throw new RuntimeException ( "One<seq2seq4repair_space>and<seq2seq4repair_space>only<seq2seq4repair_space>one<seq2seq4repair_space>queryConverter<seq2seq4repair_space>may<seq2seq4repair_space>be<seq2seq4repair_space>defined" ) ; } } } @ Override public String getDescription ( ) { } @ Override public String getVersion ( ) { } @ Override public String getSourceId ( ) { } @ Override public String getSource ( ) { } }

Fix:
String dictionary = checker . init ( spellchecker , core ) ;