code: protected final void reinit() {
      pad.set(AnswerAnnotation.class, flags.backgroundSymbol);
      pad.set(GoldAnswerAnnotation.class, flags.backgroundSymbol);
  
      featureFactory.init(flags);
  
      defaultReaderAndWriter = makeReaderAndWriter();
      if (flags.readerAndWriter != null && 
          flags.readerAndWriter.equals(flags.plainTextDocumentReaderAndWriter)) {
        plainTextReaderAndWriter = defaultReaderAndWriter;
      } else {
        plainTextReaderAndWriter = makePlainTextReaderAndWriter();
      }
    }
docs: This method should be called after there have been changes to the flags
  (SeqClassifierFlags) variable, such as after deserializing a classifier. It
  is called inside the loadClassifier methods. It assumes that the flags
  variable and the pad variable exist, but reinitializes things like the pad
  variable, featureFactory and readerAndWriter based on the flags.
  <p>
  <i>Implementation note:</i> At the moment this variable doesn't set
  windowSize or featureFactory, since they are being serialized separately in
  the file, but we should probably stop serializing them and just
  reinitialize them from the flags?