docs: private void replaceByJobHandle() {
      assert state != JobState.RUNNING : "Running job cannot be replaced.";
      final Job self = this;
      new TAtomic<Job>() {
        @Override public Job atomic(Job old) {
          if( old == null ) return null;
          JobHandle jh = new JobHandle(self);
          jh.start_time = old.start_time;
          return jh;
        }
      }.fork(job_key);
    }