void (@NotNull JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { final DefaultMutableTreeNode node = (DefaultMutableTreeNode)value; final Object userObject = node.getUserObject(); if (userObject instanceof String) { append((String)userObject, SimpleTextAttributes.GRAY_ATTRIBUTES); } else if (userObject instanceof VirtualFile virtualFile) { append(virtualFile.getName() + " "); append(JavaCompilerBundle.message("label.in.path.suffix", virtualFile.getParent().getPath()), SimpleTextAttributes.GRAY_ATTRIBUTES); } else if (userObject instanceof PsiFunctionalExpression) { append(ClassPresentationUtil.getFunctionalExpressionPresentation((PsiFunctionalExpression)userObject, true)); } else if (userObject instanceof PsiClass) { append(ClassPresentationUtil.getNameForClass((PsiClass)userObject, true)); } else { @NlsSafe final String text = userObject.toString(); append(text); } }