public Map<Pair<String, String>, BytecodeMappingTracer> getTracers() {
    List<Integer> newlineOffsets = new ArrayList<>();
    for (int i = myStringBuilder.indexOf(myLineSeparator); i != -1; i = myStringBuilder.indexOf(myLineSeparator, i + 1)) {
      newlineOffsets.add(i);
    }
    Map<Pair<String, String>, BytecodeMappingTracer> tracers = new LinkedHashMap<>();
    myBytecodeOffsetMapping.forEach((key, textOffset) -> {
      if (key.myClass == null) {
        throw new IllegalStateException("getTracers called when not all bytecode offsets have a valid class and method");
      }
      BytecodeMappingTracer tracer = tracers.computeIfAbsent(Pair.of(key.myClass, key.myMethod), k -> new BytecodeMappingTracer());
      int lineNo = Collections.binarySearch(newlineOffsets, textOffset);
      if (lineNo < 0) {
        lineNo = -lineNo - 1;
      }
      tracer.setCurrentSourceLine(lineNo);
      tracer.addMapping(key.myBytecodeOffset);
    });
    return tracers;
  }
If the current group is applied, add a newline here. Otherwise, add the argument.
If {@code dedent} is true, the extra indent from this group is unapplied from this point on.
src/org/jetbrains/java/decompiler/util/TextBuffer.java