Configurable (@NotNull Configurable configurable) { if (configurable instanceof ConfigurableWrapper) { final UnnamedConfigurable wrapped = ((ConfigurableWrapper)configurable).getConfigurable(); if (wrapped instanceof SearchableConfigurable) { configurable = (Configurable)wrapped; } } if (DEBUGGER_CONFIGURABLE_CLASS.equals(configurable.getClass().getName())) { Class<?> clazz = ReflectionUtil.forName(DEBUGGER_CONFIGURABLE_CLASS); Configurable rootConfigurable = ReflectionUtil.getField(clazz, configurable, Configurable.class, "myRootConfigurable"); if (rootConfigurable != null) { return rootConfigurable; } } return configurable; }