code: public static ConverterInitializer newInstance(State state, WorkUnitStream workUnits) {
      int branches = state.getPropAsInt(ConfigurationKeys.FORK_BRANCHES_KEY, 1);
      if (branches == 1) {
        return newInstance(state, workUnits, branches, 0);
      }
  
      List<ConverterInitializer> cis = Lists.newArrayList();
      for (int branchId = 0; branchId < branches; branchId++) {
        cis.add(newInstance(state, workUnits, branches, branchId));
      }
      return new MultiConverterInitializer(cis);
    }
docs: Provides WriterInitializer based on the writer. Mostly writer is decided by the Writer builder (and destination) that user passes.
  If there's more than one branch, it will instantiate same number of WriterInitializer instance as number of branches and combine it into MultiWriterInitializer.
  
  @param state
  @return WriterInitializer