adjusted legal info
diff --git a/jenkins.build.config.xml b/jenkins.build.config.xml
index 4bfc21e..588da8a 100644
--- a/jenkins.build.config.xml
+++ b/jenkins.build.config.xml
@@ -18,11 +18,6 @@
 	<!-- DO NOT EDIT BELOW THIS LINE -->
         <jenkins.build.dependencies>
                 <jenkins.build.dependency>org.eclipse.osbp.dsl</jenkins.build.dependency>
-                <jenkins.build.dependency>org.eclipse.osbp.ecview.extension</jenkins.build.dependency>
-                <jenkins.build.dependency>org.eclipse.osbp.xtext.action</jenkins.build.dependency>
                 <jenkins.build.dependency>org.eclipse.osbp.xtext.addons</jenkins.build.dependency>
-                <jenkins.build.dependency>org.eclipse.osbp.xtext.authorization</jenkins.build.dependency>
-                <jenkins.build.dependency>org.eclipse.osbp.xtext.datainterchange</jenkins.build.dependency>
-                <jenkins.build.dependency>org.eclipse.osbp.xtext.datamart</jenkins.build.dependency>
         </jenkins.build.dependencies>
 </jenkins>
diff --git a/org.eclipse.osbp.ide.core.ui.softwarefactory.feature/feature.xml b/org.eclipse.osbp.ide.core.ui.softwarefactory.feature/feature.xml
index 8ac55ef..8178799 100644
--- a/org.eclipse.osbp.ide.core.ui.softwarefactory.feature/feature.xml
+++ b/org.eclipse.osbp.ide.core.ui.softwarefactory.feature/feature.xml
@@ -17,7 +17,7 @@
         label="%featureName"
         version="0.9.0.qualifier"
         provider-name="%providerName"
-		plugin="org.eclipse.osbp.ide.core.ui.softwarefactory">
+		plugin="org.eclipse.osbp.license">
         
     <description>
         %description
diff --git a/org.eclipse.osbp.ide.core.ui.softwarefactory/META-INF/MANIFEST.MF b/org.eclipse.osbp.ide.core.ui.softwarefactory/META-INF/MANIFEST.MF
index 2fdad6c..119a3de 100644
--- a/org.eclipse.osbp.ide.core.ui.softwarefactory/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.ide.core.ui.softwarefactory/META-INF/MANIFEST.MF
@@ -19,17 +19,8 @@
  org.eclipse.xtext.builder;bundle-version="[2.11.0,2.12.0)",
  org.eclipse.xtext.ui;bundle-version="[2.11.0,2.12.0)",
  org.eclipse.xtext.ui.shared;bundle-version="[2.11.0,2.12.0)",
- org.eclipse.osbp.xtext.addons;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.xtext.builder.ui.access;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.xtext.builder.ui.access;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.dsl.entity.xtext;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.xtext.addons;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.ecview.extension.strategy;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.xtext.datamartdsl;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.xtext.authorizationdsl;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.gitinfo;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.xtext.action;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.xtext.datainterchange;bundle-version="[0.9.0,0.10.0)"
+ org.eclipse.osbp.xtext.builder.ui.access,
+ org.eclipse.osbp.xtext.addons;bundle-version="0.9.0"
 Import-Package: javax.validation,
  org.osgi.framework;version="1.8.0"
 Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.osbp.ide.core.ui.softwarefactory/src/org/eclipse/osbp/ide/core/ui/softwarefactory/builder/OSBP2Builder.java b/org.eclipse.osbp.ide.core.ui.softwarefactory/src/org/eclipse/osbp/ide/core/ui/softwarefactory/builder/OSBP2Builder.java
index 07ae06f..62f563d 100644
--- a/org.eclipse.osbp.ide.core.ui.softwarefactory/src/org/eclipse/osbp/ide/core/ui/softwarefactory/builder/OSBP2Builder.java
+++ b/org.eclipse.osbp.ide.core.ui.softwarefactory/src/org/eclipse/osbp/ide/core/ui/softwarefactory/builder/OSBP2Builder.java
@@ -16,11 +16,10 @@
 
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.HashSet;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
-import java.util.Set;
 import java.util.concurrent.CopyOnWriteArrayList;
 
 import org.eclipse.core.resources.IFile;
@@ -213,40 +212,48 @@
 		if(!dependencyTree.containsKey(extension)) {
 			return false;
 		}
-		for(String depExt:dependencyTree.get(extension)) {
-			LOGGER.debug("****** must rebuild {}", depExt);
-			for(IProject project:workspace.getRoot().getProjects()) {
-				if(depExt.equals(project.getFileExtension())) {
-					LOGGER.debug("****** rebuild {}", project.getName());
-					XtextResourceSet resourceSet = (XtextResourceSet) rsProvider.get(project);
-					Set<String> result = new HashSet<>();
-					try {
-						project.accept(new IResourceVisitor() {
-
-							@Override
-							public boolean visit(IResource resource) throws CoreException {
-								if (resource.getType() == IResource.FILE) {
-									IFile file = (IFile) resource;
-									if (depExt.equalsIgnoreCase(file.getFileExtension()) && !file.getFullPath().toString().contains("target/classes")) {
-										result.add(file.getFullPath().toString());
-									}
-								}
-								return true;
-							}
-						});
-					} catch (CoreException e) {
-						LOGGER.error("{}", e);
-					}
-					for(String uri:result) {
-						org.eclipse.emf.common.util.URI dslURI = org.eclipse.emf.common.util.URI.createPlatformResourceURI(uri, false);
-						Resource resource = resourceSet.getResource(dslURI, true);
-						ModelExtenderUtils.writeResource(resource, project.getName());
-					}
-				}
-			}
+		Map<URI, IProject> result = new LinkedHashMap<>();
+		iterateDeps(extension, result);
+		for(Entry<URI, IProject> res:result.entrySet()) {
+			XtextResourceSet resourceSet = (XtextResourceSet) rsProvider.get(res.getValue());
+			Resource resource = resourceSet.getResource(res.getKey(), true);
+			ModelExtenderUtils.writeResource(resource, res.getValue().getName());
 		}
 		return true;
 	}
+	
+	private void iterateDeps(String extension, Map<URI, IProject> result) {
+		if(dependencyTree.containsKey(extension)) {
+			for(String depExt:dependencyTree.get(extension)) {
+				iterateDeps(depExt, result);
+				getProjectsByExtension(depExt, result);
+			}
+		}
+	}
+	
+	private void getProjectsByExtension(String extension, Map<URI, IProject> result) {
+		for(IProject project:workspace.getRoot().getProjects()) {
+			if(project.isOpen() && extension.equals(project.getFileExtension())) {
+				try {
+					project.accept(new IResourceVisitor() {
+						@Override
+						public boolean visit(IResource resource) throws CoreException {
+							if (resource.getType() == IResource.FILE) {
+								IFile file = (IFile) resource;
+								if (extension.equalsIgnoreCase(file.getFileExtension()) && !file.getFullPath().toString().contains("target/classes")) {
+									result.put(URI.createPlatformPluginURI(file.getFullPath().toString(), false), project);
+								}
+							}
+							return true;
+						}
+					});
+				} catch (CoreException e) {
+					LOGGER.error("{}", e);
+				}
+				break;
+			}
+		}
+	}
 
 	/**
 	 * @param monitor
@@ -305,22 +312,22 @@
 			return;
 		}
 
-		monitor.worked(2);
-		project.accept(new IResourceVisitor() {
-			@Override
-			// NOSONAR - anonymous to lambda
-			public boolean visit(IResource resource) throws CoreException {
-				if (resource == getProject()) {
-					return true;
-				} else if (resource instanceof IFolder) {
-					return checkFolder((IFolder) resource);
-				} else if (resource instanceof IFile) {
-					return checkFile((IFile) resource);
-				}
-				return false;
-			}
-		});
-		monitor.worked(6);
+//		monitor.worked(2);
+//		project.accept(new IResourceVisitor() {
+//			@Override
+//			// NOSONAR - anonymous to lambda
+//			public boolean visit(IResource resource) throws CoreException {
+//				if (resource == getProject()) {
+//					return true;
+//				} else if (resource instanceof IFolder) {
+//					return checkFolder((IFolder) resource);
+//				} else if (resource instanceof IFile) {
+//					return checkFile((IFile) resource);
+//				}
+//				return false;
+//			}
+//		});
+//		monitor.worked(6);
 	}
 
 	/**
diff --git a/org.eclipse.osbp.ide.core.ui.softwarefactory/src/org/eclipse/osbp/ide/core/ui/softwarefactory/extender/ModelExtenderUtils.java b/org.eclipse.osbp.ide.core.ui.softwarefactory/src/org/eclipse/osbp/ide/core/ui/softwarefactory/extender/ModelExtenderUtils.java
index 5653634..aa7d985 100644
--- a/org.eclipse.osbp.ide.core.ui.softwarefactory/src/org/eclipse/osbp/ide/core/ui/softwarefactory/extender/ModelExtenderUtils.java
+++ b/org.eclipse.osbp.ide.core.ui.softwarefactory/src/org/eclipse/osbp/ide/core/ui/softwarefactory/extender/ModelExtenderUtils.java
@@ -19,11 +19,9 @@
 import java.util.Iterator;
 import java.util.List;
 
-import org.eclipse.emf.common.util.Diagnostic;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.Diagnostician;
 import org.eclipse.osbp.xtext.addons.EObjectHelper;
 import org.eclipse.xtext.naming.QualifiedName;
 import org.eclipse.xtext.resource.IEObjectDescription;
@@ -33,7 +31,6 @@
 import org.eclipse.xtext.resource.XtextResource;
 import org.eclipse.xtext.resource.XtextResourceSet;
 import org.eclipse.xtext.ui.resource.XtextResourceSetProvider;
-import org.eclipse.xtext.validation.FeatureBasedDiagnostic;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;