code: void doRaid(Configuration conf, PolicyInfo info, List<EncodingCandidate> paths)
        throws IOException {
      int targetRepl = Integer.parseInt(info.getProperty("targetReplication"));
      int metaRepl = Integer.parseInt(info.getProperty("metaReplication"));
      Codec codec = Codec.getCodec(info.getCodecId());
      Path destPref = new Path(codec.parityDirectory);
      String simulate = info.getProperty("simulate");
      boolean doSimulate = simulate == null ? false : Boolean
          .parseBoolean(simulate);
  
      Statistics statistics = new Statistics();
      int count = 0;
  
      for (EncodingCandidate ec : paths) {
        doRaid(conf, ec, destPref, codec, statistics, 
              RaidUtils.NULL_PROGRESSABLE, doSimulate,
              targetRepl, metaRepl);
        if (count % 1000 == 0) {
          LOG.info("RAID statistics " + statistics.toString());
        }
        count++;
      }
      LOG.info("RAID statistics " + statistics.toString());
    }
docs: RAID a list of files / directories
  @throws InterruptedException