code: public final void train() throws IOException {
      // load training parameters file
      final String paramFile = this.parsedArguments.getString("params");
      final TrainingParameters params = InputOutputUtils
          .loadTrainingParameters(paramFile);
      String outModel = null;
      if (params.getSettings().get("OutputModel") == null
          || params.getSettings().get("OutputModel").length() == 0) {
        outModel = Files.getNameWithoutExtension(paramFile) + ".bin";
        params.put("OutputModel", outModel);
      } else {
        outModel = Flags.getModel(params);
      }
      String component = Flags.getComponent(params);
      if (component.equalsIgnoreCase("POS")) {
        final TaggerTrainer posTaggerTrainer = new FixedTrainer(params);
        final POSModel trainedModel = posTaggerTrainer.train(params);
        CmdLineUtil.writeModel("ixa-pipe-pos", new File(outModel), trainedModel);
      } else if (component.equalsIgnoreCase("Lemma")) {
        final LemmatizerTrainer lemmatizerTrainer = new LemmatizerFixedTrainer(params);
        final LemmatizerModel trainedModel = lemmatizerTrainer.train(params);
        CmdLineUtil.writeModel("ixa-pipe-lemma", new File(outModel), trainedModel);
      }
    }
docs: Main entry point for training.
  @throws IOException
  throws an exception if errors in the various file inputs.