Buggy code:
public class LukeRequestHandler extends RequestHandlerBase { private static Logger log = LoggerFactory . getLogger ( LukeRequestHandler . class ) ; public static final String NUMTERMS = "numTerms" ; public static final String DOC_ID = "docId" ; public static final String ID = "id" ; public static final int DEFAULT_COUNT = 10 ; static final int HIST_ARRAY_SIZE = 33 ; private static enum ShowStyle { ALL , DOC , SCHEMA , INDEX ; public static LukeRequestHandler . ShowStyle get ( String v ) { } } @ Override public void handleRequestBody ( SolrQueryRequest req , SolrQueryResponse rsp ) throws Exception { } private static String getFieldFlags ( IndexableField f ) { } private static String getFieldFlags ( SchemaField f ) { } public static SimpleOrderedMap < String > getFieldFlagsKey ( ) { } private static SimpleOrderedMap < Object > getDocumentFieldsInfo ( Document doc , int docId , IndexReader reader , IndexSchema schema ) throws IOException { } private static SimpleOrderedMap < Object > getIndexedFieldsInfo ( SolrQueryRequest req ) throws Exception { } private static Document getFirstLiveDoc ( Terms terms , AtomicReader reader ) throws IOException { } private static SimpleOrderedMap < Object > getSchemaInfo ( IndexSchema schema ) { } private static SimpleOrderedMap < Object > getSimilarityInfo ( Similarity similarity ) { } private static SimpleOrderedMap < Object > getAnalyzerInfo ( Analyzer analyzer ) { } private static void populateFieldInfo ( IndexSchema schema , Map < String , List < String > > typeusemap , Map < String , Object > fields , SchemaField uniqueField , SchemaField f ) { FieldType ft = f . getType ( ) ; SimpleOrderedMap < Object > field = new SimpleOrderedMap < Object > ( ) ; field . add ( "type" , ft . getTypeName ( ) ) ; field . add ( "flags" , LukeRequestHandler . getFieldFlags ( f ) ) ; if ( f . isRequired ( ) ) { field . add ( "required" , f . isRequired ( ) ) ; } if ( ( f . getDefaultValue ( ) ) != null ) { field . add ( "default" , f . getDefaultValue ( ) ) ; } if ( f == uniqueField ) { field . add ( "uniqueKey" , true ) ; } if ( ( ft . getAnalyzer ( ) . getPositionIncrementGap ( f . getName ( ) ) ) != 0 ) { field . add ( "positionIncrementGap" , ft . getAnalyzer ( ) . getPositionIncrementGap ( f . getName ( ) ) ) ; } field . add ( "copyDests" , LukeRequestHandler . toListOfStringDests ( schema . getCopyFieldsList ( f . getName ( ) ) ) ) ; <START_BUG> field . add ( "copySources" , LukeRequestHandler . toListOfStrings ( schema . getCopySources ( f . getName ( ) ) ) ) ; <END_BUG> fields . put ( f . getName ( ) , field ) ; List < String > v = typeusemap . get ( ft . getTypeName ( ) ) ; if ( v == null ) { v = new ArrayList < String > ( ) ; } v . add ( f . getName ( ) ) ; typeusemap . put ( ft . getTypeName ( ) , v ) ; } public static SimpleOrderedMap < Object > getIndexInfo ( DirectoryReader reader , boolean detail ) throws IOException { } public static SimpleOrderedMap < Object > getIndexInfo ( DirectoryReader reader ) throws IOException { } @ SuppressWarnings ( "unchecked" ) private static void getDetailedFieldInfo ( SolrQueryRequest req , String field , SimpleOrderedMap < Object > fieldMap ) throws IOException { } private static List < String > toListOfStrings ( SchemaField [ ] raw ) { } private static List < String > toListOfStringDests ( List < CopyField > raw ) { } @ Override public String getDescription ( ) { } @ Override public String getSource ( ) { } @ Override public URL [ ] getDocs ( ) { } static class TermHistogram { int _maxBucket = - 1 ; int [ ] _buckets = new int [ LukeRequestHandler . HIST_ARRAY_SIZE ] ; public void add ( int [ ] buckets ) { } public NamedList < Integer > toNamedList ( ) { } } private static class TopTermQueue extends PriorityQueue { static class TermInfo { TermInfo ( Term t , int df ) { } int docFreq ; Term term ; } public int minFreq = 0 ; public int distinctTerms = 0 ; public LukeRequestHandler . TermHistogram histogram ; TopTermQueue ( int size ) { } @ Override protected final boolean lessThan ( Object a , Object b ) { } public NamedList < Integer > toNamedList ( IndexSchema schema ) { } public LukeRequestHandler . TopTermQueue . TermInfo getTopTermInfo ( ) { } } }

Fix:
field . add ( "copySources" , schema . getCopySources ( f . getName ( ) ) ) ;