private static Pair<String, Map<String, ObjectReference>> createMarkupVariablesText(Map<?, ValueMarkup> markupMap) {
    final Map<String, ObjectReference> reverseMap = new HashMap<>();
    final StringBuilder buffer = new StringBuilder();
    for (Map.Entry<?, ValueMarkup> entry : markupMap.entrySet()) {
      ObjectReference objectRef = (ObjectReference)entry.getKey();
      final ValueMarkup markup = entry.getValue();
      String labelName = markup.getText();
      if (!StringUtil.isJavaIdentifier(labelName)) {
        continue;
      }
      try {
        // TODO: we probably need something more complicated for type name generation, but not in EDT
        String name = objectRef.type().name();
        String typeName;
        if (ANONYMOUS_CLASS_NAME_PATTERN.matcher(name).matches() || DebuggerUtilsEx.isLambdaClassName(name)) {
          typeName = "Object";
        }
        else {
          typeName = name.replace('$', '.');
        }
        labelName += DEBUG_LABEL_SUFFIX;
        if (!buffer.isEmpty()) {
          buffer.append("\n");
        }
        buffer.append(typeName).append(" ").append(labelName).append(";");
        reverseMap.put(labelName, objectRef);
      }
      catch (ObjectCollectedException e) {
        //it.remove();
      }
    }
    return Pair.create(buffer.toString(), reverseMap);
  }
private static Pair<String, Map<String, ObjectReference>> createMarkupVariablesText(Map<?, ValueMarkup> markupMap)