public List<NodeRenderer> getAllRenderers(Project project) {
    // the order is important as the renderers are applied according to it
    final List<NodeRenderer> allRenderers = new ArrayList<>();

    // user defined renderers must come first
    myCustomRenderers.iterateRenderers(renderer -> {
      allRenderers.add(renderer);
      return true;
    });

    if (Registry.is("debugger.renderers.annotations")) {
      addAnnotationRenderers(allRenderers, project);
    }

    // plugins registered renderers come after that
    CompoundRendererProvider.EP_NAME.getExtensionList().stream()
      .filter(provider -> provider.isApplicable(project))
      .map((provider) -> provider.createRenderer())
      .forEach(allRenderers::add);
    allRenderers.addAll(NodeRenderer.EP_NAME.getExtensionList());

    // now all predefined stuff
    allRenderers.add(myHexRenderer);
    allRenderers.add(myPrimitiveRenderer);
    Collections.addAll(allRenderers, myAlternateCollectionRenderers);
    allRenderers.add(myToStringRenderer);
    allRenderers.add(myArrayRenderer);
    allRenderers.add(myClassRenderer);
    return allRenderers;
  }
public List<NodeRenderer> getAllRenderers(Project project)