private static boolean _accept(@NotNull JComponent component) {
    if (!component.isEnabled() || !component.isVisible() || !component.isFocusable()) {
      return false;
    }

    if (component instanceof EditorComponentImpl || component instanceof EditorWindowHolder) {
      return true;
    }

    if (component instanceof JTextComponent) {
      return ((JTextComponent)component).isEditable();
    }

    if (component instanceof JLabel) {
      return DEFAULT_TRAVERSAL_POLICY.accept(component);
    }

    return component instanceof AbstractButton ||
           component instanceof JList ||
           component instanceof JTree ||
           component instanceof JTable ||
           component instanceof JComboBox;
  }
private static boolean _accept(@NotNull JComponent component)