code: public boolean commit()
        throws Exception {
      try {
        if (checkDataQuality(this.convertedSchema)) {
          // Commit data if all quality checkers pass. Again, not to catch the exception
          // it may throw so the exception gets propagated to the caller of this method.
          this.logger.debug(String.format("Committing data for fork %d of task %s", this.index, this.taskId));
          commitData();
          verifyAndSetForkState(ForkState.SUCCEEDED, ForkState.COMMITTED);
          return true;
        }
        this.logger.error(String.format("Fork %d of task %s failed to pass quality checking", this.index, this.taskId));
        verifyAndSetForkState(ForkState.SUCCEEDED, ForkState.FAILED);
        return false;
      } catch (Throwable t) {
        this.logger.error(String.format("Fork %d of task %s failed to commit data", this.index, this.taskId), t);
        this.forkState.set(ForkState.FAILED);
        Throwables.propagate(t);
        return false;
      }
    }
docs: Commit data of this {@link Fork}.
  
  @throws Exception if there is anything wrong committing the data