code: public static DistCopier getCopier(final Configuration conf,
        final Arguments args) throws IOException {
      DistCopier dc = new DistCopier(conf, args);
      dc.setupJob();
      if (dc.getJobConf() != null) {
        return dc;
      } else {
        return null;
      }
    }
docs: Return a DistCopier object for copying the files.
  
  If a MapReduce job is needed, a DistCopier instance will be
  initialized and returned.
  If no MapReduce job is needed (for empty directories), all the
  other work will be done in this function, and NULL will be
  returned. If caller sees NULL returned, the copying has
  succeeded.
  
  @param conf
  @param args
  @return
  @throws IOException