docs: public /** FIXME: should be final or at least protected */ Job start(final H2OCountedCompleter fjtask) {
      assert state == JobState.CREATED : "Trying to run job which was already run?";
      assert fjtask != null : "Starting a job with null working task is not permitted! Fix you API";
      _fjtask = fjtask;
      start_time = System.currentTimeMillis();
      state      = JobState.RUNNING;
      // Save the full state of the job
      UKV.put(self(), this);
      // Update job list
      new TAtomic<List>() {
        @Override public List atomic(List old) {
          if( old == null ) old = new List();
          Key[] jobs = old._jobs;
          old._jobs = Arrays.copyOf(jobs, jobs.length + 1);
          old._jobs[jobs.length] = job_key;
          return old;
        }
      }.invoke(LIST);
      return this;
    }