MultiMap<T, OutputItem> processCompiledFiles(CompileContext context,
                                               ModuleChunk chunk,
                                               Map<T, String> generationOutputs,
                                               String compilerOutput,
                                               List<OutputItem> successfullyCompiled)
    throws IOException {
    final MultiMap<T, OutputItem> compiled = MultiMap.createLinkedSet();
    for (final OutputItem item : successfullyCompiled) {
      if (Utils.IS_TEST_MODE || LOG.isDebugEnabled()) {
        LOG.debug("compiled=" + item);
      }
      R rd = findRoot(context, new File(item.sourcePath));
      if (rd != null) {
        //noinspection unchecked
        T target = (T)rd.getTarget();
        String outputPath = ensureCorrectOutput(chunk, item, generationOutputs, compilerOutput, target);
        compiled.putValue(target, new OutputItem(outputPath, item.sourcePath));
      }
      else {
        if (Utils.IS_TEST_MODE || LOG.isDebugEnabled()) {
          LOG.debug("No java source root descriptor for the item found =" + item);
        }
      }
    }
    if (Utils.IS_TEST_MODE || LOG.isDebugEnabled()) {
      LOG.debug("Chunk " + chunk + " compilation finished");
    }
    return compiled;
  }
MultiMap<T, OutputItem> processCompiledFiles(CompileContext context,
                                               ModuleChunk chunk,
                                               Map<T, String> generationOutputs,
                                               String compilerOutput,
                                               List<OutputItem> successfullyCompiled)