code: public Set<Object> findAllSourceJobs(Object job) {
          final Set<Object> result = new HashSet<Object>();
          findAllSourceJobs(job, result);
          return result;
      }
docs: Finds all source jobs/components for a particular job/component. This
  method uses {@link Object} as types because input and output can be quite
  polymorphic. Typically {@link InputColumnSinkJob},
  {@link InputColumnSourceJob}, {@link HasComponentRequirement} and
  {@link OutcomeSourceJob} implementations are used.
  
  @param job
  typically some {@link InputColumnSinkJob}
  @return a list of jobs/components that are a source of this job.