/** * @param mainInstance * @param existingModel * @param node * @return null, if no language support is available or no project could be created. * @throws TransformationException */ private ILangSupport configureLanguageSupport( InstanceSpecification mainInstance, Model existingModel, InstanceSpecification node) throws TransformationException { ILangSupport langSupport = LanguageSupport.getLangSupport(getTargetLanguage(mainInstance)); langSupport.resetConfigurationData(); String modelName = getModelName(existingModel, node); IProject genProject = ProjectManagement.getNamedProject(modelName); if ((genProject == null) || !genProject.exists()) { genProject = langSupport.createProject(modelName, getTargetOS(node)); if (genProject == null) { return null; } } else { langSupport.setProject(genProject); if ((generationOptions & GenerationOptions.REWRITE_SETTINGS) != 0) { langSupport.setSettings(getTargetOS(node)); } } return langSupport; }