Do not handle deletion events in i18n builder
diff --git a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/ResourceBundleManager.java b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/ResourceBundleManager.java
index 087f604..e0798fc 100644
--- a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/ResourceBundleManager.java
+++ b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/ResourceBundleManager.java
@@ -206,8 +206,8 @@
 			return;
 		}
 
-		String bundleName = getResourceBundleId(resource);
-		Set<IResource> res;
+		final String bundleName = getResourceBundleId(resource);
+		final Set<IResource> res;
 
 		if (!resources.containsKey(bundleName)) {
 			res = new HashSet<IResource>();
@@ -215,6 +215,12 @@
 			res = resources.get(bundleName);
 		}
 
+		// check if the resource bundle manager is already aware of this
+		// resource
+		if (res.contains(resource)) {
+			return;
+		}
+
 		res.add(resource);
 		resources.put(bundleName, res);
 		allBundles.put(bundleName, new HashSet<IResource>(res));
diff --git a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/analyzer/RBAuditor.java b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/analyzer/RBAuditor.java
index bf976fd..20c3942 100644
--- a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/analyzer/RBAuditor.java
+++ b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/analyzer/RBAuditor.java
@@ -21,7 +21,6 @@
 import org.eclipse.core.resources.IResource;
 import org.eclipse.ui.IMarkerResolution;
 
-@Deprecated
 public class RBAuditor extends I18nResourceAuditor {
 
     @Override
diff --git a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/builder/ExtensionManager.java b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/builder/ExtensionManager.java
index 689a43c..92c8d8e 100644
--- a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/builder/ExtensionManager.java
+++ b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/builder/ExtensionManager.java
@@ -36,28 +36,30 @@
 
 	// file-endings supported by the registered extension plug-ins
 	private Set<String> supportedFileEndings = new HashSet<String>();
-	
+
 	// singleton instance
 	private static ExtensionManager INSTANCE = null;
-	
+
 	private ExtensionManager() {
 		initExtensionManager();
 	}
-	
+
 	public static ExtensionManager getExtensionManager() {
 		if (INSTANCE == null) {
 			INSTANCE = new ExtensionManager();
 		}
-		
+
 		return INSTANCE;
 	}
 
 	private void initExtensionManager() {
 		extensions = new ArrayList<I18nAuditor>();
 
+		// init default auditors
+		extensions.add(new RBAuditor());
+
 		// lookup registered auditor extensions
-		IConfigurationElement[] config = Platform
-				.getExtensionRegistry()
+		IConfigurationElement[] config = Platform.getExtensionRegistry()
 				.getConfigurationElementsFor(Activator.BUILDER_EXTENSION_ID);
 
 		try {
@@ -69,9 +71,9 @@
 			Logger.logError(ex);
 		}
 	}
-	
+
 	public List<I18nAuditor> getRegisteredI18nAuditors() {
-		
+
 		// init builder property change listener
 		if (propertyChangeListener == null) {
 			propertyChangeListener = new BuilderPropertyChangeListener();
diff --git a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/builder/I18nBuilder.java b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/builder/I18nBuilder.java
index 66b1cf5..e3bf3a1 100644
--- a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/builder/I18nBuilder.java
+++ b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/builder/I18nBuilder.java
@@ -106,12 +106,6 @@
 	private void incrementalBuild(IProgressMonitor monitor,
 			IResourceDelta resDelta) throws CoreException {
 		try {
-			for (final IResourceDelta changedResource : resDelta
-					.getAffectedChildren()) {
-				Logger.logInfo(String.format(" - %s",
-						changedResource.getResource()));
-			}
-
 			// inspect resource delta
 			Logger.logInfo(String
 					.format("looking for resources with the following file endings: %s",
@@ -119,8 +113,22 @@
 			ResourceFinder csrav = new ResourceFinder(
 					extensionManager.getSupportedFileEndings());
 			resDelta.accept(csrav);
-
-			auditResources(csrav.getResources(), monitor, getProject());
+			
+			switch (resDelta.getKind()) {
+			case IResourceDelta.ADDED:
+			case IResourceDelta.CHANGED:
+				for (final IResourceDelta changedResource : resDelta
+						.getAffectedChildren()) {
+					Logger.logInfo(String.format(" - %s",
+							changedResource.getResource()));
+				}
+				auditResources(csrav.getResources(), monitor, getProject());
+				break;
+				
+			case IResourceDelta.REMOVED:
+				// TODO notify extension plugins
+				break;
+			}
 		} catch (CoreException e) {
 			Logger.logError(e);
 		}