code: public SubmitJobRequest withDependsOn(JobDependency... dependsOn) {
          if (this.dependsOn == null) {
              setDependsOn(new java.util.ArrayList<JobDependency>(dependsOn.length));
          }
          for (JobDependency ele : dependsOn) {
              this.dependsOn.add(ele);
          }
          return this;
      }
docs: <p>
  A list of dependencies for the job. A job can depend upon a maximum of 20 jobs. You can specify a
  <code>SEQUENTIAL</code> type dependency without specifying a job ID for array jobs so that each child array job
  completes sequentially, starting at index 0. You can also specify an <code>N_TO_N</code> type dependency with a
  job ID for array jobs. In that case, each index child of this job must wait for the corresponding index child of
  each dependency to complete before it can begin.
  </p>
  <p>
  <b>NOTE:</b> This method appends the values to the existing list (if any). Use
  {@link #setDependsOn(java.util.Collection)} or {@link #withDependsOn(java.util.Collection)} if you want to
  override the existing values.
  </p>
  
  @param dependsOn
  A list of dependencies for the job. A job can depend upon a maximum of 20 jobs. You can specify a
  <code>SEQUENTIAL</code> type dependency without specifying a job ID for array jobs so that each child
  array job completes sequentially, starting at index 0. You can also specify an <code>N_TO_N</code> type
  dependency with a job ID for array jobs. In that case, each index child of this job must wait for the
  corresponding index child of each dependency to complete before it can begin.
  @return Returns a reference to this object so that method calls can be chained together.