private static void loadSetupBase( final String id, final Map<String, String> filter, final IConfigurationElement[] configurationElements, final RSetup setup) throws Exception { for (int i = 0; i < configurationElements.length; i++) { final IConfigurationElement element = configurationElements[i]; if (element.getName().equals(BASE_ELEMENT_NAME) && id.equals(element.getAttribute(SETUP_ID_ATTRIBUTE_NAME))) { final String path = getLocation(element, filter); setup.setRHome(path); return; } } for (int i = 0; i < configurationElements.length; i++) { final IConfigurationElement element = configurationElements[i]; if (element.equals(SETUP_ELEMENT_NAME) && id.equals(element.getAttribute(SETUP_ID_ATTRIBUTE_NAME))) { final String inheritId = element.getAttribute(INHERIT_BASE_ATTRIBUTE_NAME); if (inheritId != null) { loadSetupBase(inheritId, filter, configurationElements, setup); } return; } } }