code: public DataWriterBuilder getDataWriterBuilder(int branches, int index) {
      String writerBuilderPropertyName = ForkOperatorUtils
          .getPropertyNameForBranch(ConfigurationKeys.WRITER_BUILDER_CLASS, branches, index);
      log.debug("Using property {} to get a writer builder for branches:{}, index:{}", writerBuilderPropertyName,
          branches, index);
  
      String dataWriterBuilderClassName = this.taskState.getProp(writerBuilderPropertyName, null);
      if (dataWriterBuilderClassName == null) {
        dataWriterBuilderClassName = ConfigurationKeys.DEFAULT_WRITER_BUILDER_CLASS;
        log.info("No configured writer builder found, using {} as the default builder", dataWriterBuilderClassName);
      } else {
        log.info("Found configured writer builder as {}", dataWriterBuilderClassName);
      }
      try {
        return DataWriterBuilder.class.cast(Class.forName(dataWriterBuilderClassName).newInstance());
      } catch (ClassNotFoundException cnfe) {
        throw new RuntimeException(cnfe);
      } catch (InstantiationException ie) {
        throw new RuntimeException(ie);
      } catch (IllegalAccessException iae) {
        throw new RuntimeException(iae);
      }
    }
docs: Get a {@link DataWriterBuilder} for building a {@link org.apache.gobblin.writer.DataWriter}.
  
  @param branches number of forked branches
  @param index branch index
  @return a {@link DataWriterBuilder}