private static void addAllPointersStrictlyUnder(@NotNull FilePartNode node,
                                                  @NotNull MultiMap<? super VirtualFilePointerListener, ? super VirtualFilePointerImpl> toFirePointers) {
    for (FilePartNode child : node.children) {
      child.processPointers(pointer -> toFirePointers.putValue(pointer.myListener, pointer));
      addAllPointersStrictlyUnder(child, toFirePointers);
    }
  }
private static void addAllPointersStrictlyUnder(@NotNull FilePartNode node,
                                                  @NotNull MultiMap<? super VirtualFilePointerListener, ? super VirtualFilePointerImpl> toFirePointers)