code: public static Path getWriterFilePath(State state, int numBranches, int branchId) {
      if (state.contains(
          ForkOperatorUtils.getPropertyNameForBranch(ConfigurationKeys.WRITER_FILE_PATH, numBranches, branchId))) {
        return new Path(state.getProp(
            ForkOperatorUtils.getPropertyNameForBranch(ConfigurationKeys.WRITER_FILE_PATH, numBranches, branchId)));
      }
  
      switch (getWriterFilePathType(state)) {
        case NAMESPACE_TABLE:
          return getNamespaceTableWriterFilePath(state);
        case TABLENAME:
          return WriterUtils.getTableNameWriterFilePath(state);
        default:
          return WriterUtils.getDefaultWriterFilePath(state, numBranches, branchId);
      }
    }
docs: Get the {@link Path} corresponding the the relative file path for a given {@link org.apache.gobblin.writer.DataWriter}.
  This method retrieves the value of {@link ConfigurationKeys#WRITER_FILE_PATH} from the given {@link State}. It also
  constructs the default value of the {@link ConfigurationKeys#WRITER_FILE_PATH} if not is not specified in the given
  {@link State}.
  @param state is the {@link State} corresponding to a specific {@link org.apache.gobblin.writer.DataWriter}.
  @param numBranches is the total number of branches for the given {@link State}.
  @param branchId is the id for the specific branch that the {{@link org.apache.gobblin.writer.DataWriter} will write to.
  @return a {@link Path} specifying the relative directory where the {@link org.apache.gobblin.writer.DataWriter} will write to.