@Override
      public void applyPresentation(@Nullable Icon icon, @NotNull final XValuePresentation valuePresenter, boolean hasChildren) {
        node.setPresentation(icon, new XValuePresentation() {
          @NotNull
          @Override
          public String getSeparator() {
            return MemoryAgentReferringObject.this.getSeparator();
          }

          @Nullable
          @Override
          public String getType() {
            return null;
          }

          @Override
          public void renderValue(@NotNull XValueTextRenderer renderer) {
            if (myIsWeakSoftReachable) {
              renderer.renderKeywordValue("Weak/Soft reachable ");
            }

            String type = valuePresenter.getType();
            if (type != null) {
              renderer.renderComment(String.format("{%s} ", type));
            }
            valuePresenter.renderValue(renderer);
          }
        }, hasChildren);
      }
@Override
      public void applyPresentation(@Nullable Icon icon, @NotNull final XValuePresentation valuePresenter, boolean hasChildren)