class MergeStreamDataConsistency extends CompareDataConsistency {

  public List<Path> run(String [] args) throws Exception {
    List<Path> inconsistencydata = new ArrayList<Path>();
    String [] localStreamrootDirs = args[0].split(",");
    String mergedStreamRoorDir = args[1];	
    List<String> streamNames = new ArrayList<String>();
    if (args.length == 2) {
      FileSystem fs = new Path(mergedStreamRoorDir, "streams").getFileSystem(
          new Configuration());
      FileStatus[] fileStatuses;
      try {
        fileStatuses = fs.listStatus(new Path(mergedStreamRoorDir,
          "streams"));
      } catch (FileNotFoundException fe) {
        fileStatuses = null;
      }
      if (fileStatuses != null && fileStatuses.length != 0) {
        for (FileStatus file : fileStatuses) {  
          streamNames.add(file.getPath().getName());
        } 
      } else {
        System.out.println("There are no stream names in the stream");
      }
    } else if (args.length == 3) {
      for (String streamname : args[2].split(",")) {
        streamNames.add(streamname);
      }
    } 
    inconsistencydata = this.listingValidation(mergedStreamRoorDir, 
        localStreamrootDirs, streamNames);
    if (inconsistencydata.isEmpty()) {
      System.out.println("there is no inconsistency data");
    }
    return inconsistencydata;
  }

}