Program: 146530
Project: 146530
Buggy source:
public void convertToVariant(Map<String,DivetOutputHandle> divets,Map<String,SplitOutputHandle> splits){
  if (!this.buffer.isEmpty())   this.dumpDataToDisk();
  final Map<String,List<Path>> sortHolder=new ConcurrentHashMap<>();
  this.SamTemp.entrySet().stream().forEach((e) -> {
    e.getValue().entrySet().stream().forEach((l) -> {
      l.getValue().dumpDataToDisk();
    }
);
    if (!sortHolder.containsKey(e.getKey()))     sortHolder.put(e.getKey(),Collections.synchronizedList(new ArrayList<>()));
    e.getValue().entrySet().parallelStream().forEach((l) -> {
      TextFileQuickSort t=new TextFileQuickSort("String_Node_Str",new int[]{0,1},this.tempOutBase);
      try {
        if (!l.getValue().getTempFile().toFile().canRead())         throw new FileNotFoundException("String_Node_Str");
        t.splitChunks(new FileInputStream(l.getValue().getTempFile().toFile()),String.valueOf(l.getKey()));
        t.mergeChunks();
      }
 catch (      FileNotFoundException ex) {
        log.log(Level.SEVERE,"String_Node_Str",ex);
      }
catch (      IOException ex) {
        log.log(Level.SEVERE,"String_Node_Str",ex);
      }
catch (      Exception ex) {
        log.log(Level.SEVERE,"String_Node_Str",ex);
      }
      sortHolder.get(e.getKey()).add(t.getTemp());
    }
);
  }
);
  Map<String,TempSortFileHolder> mergeHolder=sortHolder.entrySet().stream().collect(Collectors.toConcurrentMap(e -> e.getKey(),(e) -> {
    TempSortFileHolder t=new TempSortFileHolder(Paths.get(this.tempOutBase));
    t.ConcatenateFiles(e.getValue());
    return t;
  }
));
  anchorlookup=new ConcurrentHashMap<>();
  try {
    mergeHolder.keySet().parallelStream().forEach((    String s) -> {
      try {
        splits.get(s).OpenAnchorHandle();
        splits.get(s).OpenFQHandle();
        divets.get(s).OpenHandle();
        TempFileConverter(splits.get(s),divets.get(s),s,mergeHolder.get(s));
        log.log(Level.FINE,"String_Node_Str" + s);
        mergeHolder.get(s).close();
        divets.get(s).CloseHandle();
        splits.get(s).CloseAnchorHandle();
        splits.get(s).CloseFQHandle();
      }
 catch (      Exception ex) {
        log.log(Level.SEVERE,"String_Node_Str",ex);
      }
    }
);
    if (debug)     this.debugWriter.close();
  }
 catch (  IOException ex) {
    log.log(Level.SEVERE,"String_Node_Str",ex);
  }
catch (  Exception ex) {
    log.log(Level.SEVERE,"String_Node_Str",ex);
  }
}

Fixed version (ground truth):
/** 
 * Main routine that takes all identified discordant alignments and ships them to appropriate temp output handles. 
 * @param divets the temporary discordant read output handle
 * @param splits the temporary split read output handle
 */
public void convertToVariant(Map<String,DivetOutputHandle> divets,Map<String,SplitOutputHandle> splits){
  if (!this.buffer.isEmpty())   this.dumpDataToDisk();
  final Map<String,List<Path>> sortHolder=new ConcurrentHashMap<>();
  this.SamTemp.entrySet().stream().forEach((e) -> {
    e.getValue().entrySet().stream().forEach((l) -> {
      l.getValue().dumpDataToDisk();
    }
);
    if (!sortHolder.containsKey(e.getKey()))     sortHolder.put(e.getKey(),Collections.synchronizedList(new ArrayList<>()));
    e.getValue().entrySet().parallelStream().forEach((l) -> {
      TextFileQuickSort t=new TextFileQuickSort("String_Node_Str",new int[]{0,1},this.tempOutBase);
      try {
        if (!l.getValue().getTempFile().toFile().canRead())         throw new FileNotFoundException("String_Node_Str");
        t.splitChunks(new FileInputStream(l.getValue().getTempFile().toFile()),String.valueOf(l.getKey()));
        t.mergeChunks();
      }
 catch (      FileNotFoundException ex) {
        log.log(Level.SEVERE,"String_Node_Str",ex);
      }
catch (      IOException ex) {
        log.log(Level.SEVERE,"String_Node_Str",ex);
      }
catch (      Exception ex) {
        log.log(Level.SEVERE,"String_Node_Str",ex);
      }
      sortHolder.get(e.getKey()).add(t.getTemp());
    }
);
  }
);
  Map<String,TempSortFileHolder> mergeHolder=sortHolder.entrySet().stream().collect(Collectors.toConcurrentMap(e -> e.getKey(),(e) -> {
    TempSortFileHolder t=new TempSortFileHolder(Paths.get(this.tempOutBase));
    t.ConcatenateFiles(e.getValue());
    return t;
  }
));
  anchorlookup=new ConcurrentHashMap<>();
  try {
    mergeHolder.keySet().parallelStream().forEach((    String s) -> {
      try {
        splits.get(s).OpenAnchorHandle();
        splits.get(s).OpenFQHandle();
        divets.get(s).OpenHandle();
        TempFileConverter(splits.get(s),divets.get(s),s,mergeHolder.get(s));
        log.log(Level.FINE,"String_Node_Str" + s);
        mergeHolder.get(s).close();
        divets.get(s).CloseHandle();
        splits.get(s).CloseAnchorHandle();
        splits.get(s).CloseFQHandle();
      }
 catch (      Exception ex) {
        log.log(Level.SEVERE,"String_Node_Str",ex);
      }
    }
);
    if (debug)     this.debugWriter.close();
  }
 catch (  IOException ex) {
    log.log(Level.SEVERE,"String_Node_Str",ex);
  }
catch (  Exception ex) {
    log.log(Level.SEVERE,"String_Node_Str",ex);
  }
}