void (@NotNull Component component, @NotNull StringBuilder builder) { String candidate = ""; if (component instanceof JLabel) candidate = ((JLabel)component).getText(); if (component instanceof JTextComponent) candidate = ((JTextComponent)component).getText(); if (component instanceof AbstractButton) candidate = ((AbstractButton)component).getText(); if (Strings.isNotEmpty(candidate)) { candidate = candidate.replaceAll("<a href=\"#inspection/[^)]+\\)", ""); if (!builder.isEmpty()) { builder.append(' '); } builder.append(StringUtil.removeHtmlTags(candidate).trim()); } if (component instanceof Container) { Component[] components = ((Container)component).getComponents(); for (Component child : components) { getAllTextsRecursively(child, builder); } } }