docs: public static <I, O> List<Example<DynamicAssignment, DynamicAssignment>> reformatTrainingDataPerItem(
        List<? extends TaggedSequence<I, O>> sequences, FeatureVectorGenerator<LocalContext<I>> featureGen,
        Function<? super LocalContext<I>, ? extends Object> inputGen, DynamicVariableSet modelVariables,
        I startInput, O startLabel) {
      DynamicVariableSet plate = modelVariables.getPlate(PLATE_NAME);
      VariableNumMap x = plate.getFixedVariables().getVariablesByName(INPUT_FEATURES_NAME);
      VariableNumMap xInput = plate.getFixedVariables().getVariablesByName(INPUT_NAME);
      VariableNumMap y = plate.getFixedVariables().getVariablesByName(OUTPUT_NAME);
  
      ReformatPerItemMapper<I, O> mapper = new ReformatPerItemMapper<I, O>(featureGen, inputGen, x, xInput, y,
          startInput, startLabel);
      List<List<Example<DynamicAssignment, DynamicAssignment>>> exampleLists = MapReduceConfiguration
          .getMapReduceExecutor().map(sequences, mapper);
  
      List<Example<DynamicAssignment, DynamicAssignment>> examples = Lists.newArrayList();
      for (List<Example<DynamicAssignment, DynamicAssignment>> exampleList : exampleLists) {
        examples.addAll(exampleList);
      }
      return examples;
    }