public void update(SettingsFilter filter, Configurable configurable, JComponent component) {
    if (configurable == null) {
      myGlassPanel.clear();
      myVisible = false;
    }
    else if (component != null) {
      myGlassPanel.clear();
      String text = filter.getSpotlightFilterText();
      myVisible = !text.isEmpty();
      SearchableConfigurable searchable = new SearchableConfigurable.Delegate(configurable);
      try {
        SearchUtil.INSTANCE.lightOptions(searchable, component, text);
        Runnable search = searchable.enableSearch(text); // execute for empty string too
        if (search != null && !filter.contains(configurable) && !text.equals(myConfigurableOption.get(searchable.getId()))) {
          search.run();
        }
      }
      finally {
        myConfigurableOption.put(searchable.getId(), text);
      }
    }
    else if (!ApplicationManager.getApplication().isUnitTestMode()) {
      updateLater();
      return;
    }
    fireNeedsRepaint(myGlassPanel);
  }
public void update(SettingsFilter filter, Configurable configurable, JComponent component)