code: public ObjectBank<List<IN>> makeObjectBankFromReader(BufferedReader in,
                                                         DocumentReaderAndWriter<IN> readerAndWriter) {
      if (flags.announceObjectBankEntries) {
        System.err.println("Reading data using " + readerAndWriter.getClass());
      }
      // TODO get rid of objectbankwrapper
      // return new ObjectBank<List<IN>>(new ResettableReaderIteratorFactory(in),
      // readerAndWriter);
      return new ObjectBankWrapper<IN>(flags, new ObjectBank<List<IN>>(new ResettableReaderIteratorFactory(in),
          readerAndWriter), knownLCWords);
    }
docs: Set up an ObjectBank that will allow one to iterate over a collection of
  documents obtained from the passed in Reader. Each document will be
  represented as a list of IN. If the ObjectBank iterator() is called until
  hasNext() returns false, then the Reader will be read till end of file, but
  no reading is done at the time of this call. Reading is done using the
  reading method specified in <code>flags.documentReader</code>, and for some
  reader choices, the column mapping given in <code>flags.map</code>.
  
  @param in
  Input data addNEWLCWords do we add new lowercase words from this
  data to the word shape classifier
  @return The list of documents