diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/FileManager.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/FileManager.java
index c7de9563a406891de07ba47b833645b5cf454998..ef2b968a64b21f2e8a4ac767720814b5a0a3e20b 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/FileManager.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/FileManager.java
@@ -146,7 +146,7 @@ public final class FileManager {
 				// TODO Copy before saving as the controller destroys at least the dependencies.
 				final AnalysisController controller = new AnalysisController(project);
 				return controller.saveToFile(fileProject);
-			} catch (final Exception ex) {
+			} catch (final NullPointerException ex) {
 				FileManager.LOG.error("Could not save project '" + projectName + "'.", ex);
 				return false;
 			}
@@ -202,16 +202,12 @@ public final class FileManager {
 					 */
 					final File projectFile = new File(directory, directory.getName() + FileManager.EXTENSION);
 					if (projectFile.exists()) {
-						try {
-							/*
-							 * Try to load the project.
-							 */
-							final MIProject project = AnalysisController.loadFromFile(projectFile);
-							if (project != null) {
-								resultList.add(project);
-							}
-						} catch (final Exception ex) {
-							FileManager.LOG.error("Could not load project '" + directory.getName() + "'.", ex);
+						/*
+						 * Try to load the project.
+						 */
+						final MIProject project = AnalysisController.loadFromFile(projectFile);
+						if (project != null) {
+							resultList.add(project);
 						}
 					}
 				}
@@ -364,11 +360,7 @@ public final class FileManager {
 
 		final File projectFile = new File(FileManager.PROJECT_DIR + File.separator + projectName + File.separator + projectName + FileManager.EXTENSION);
 		if (projectFile.isFile()) {
-			try {
-				return AnalysisController.loadFromFile(projectFile);
-			} catch (final Exception ex) {
-				FileManager.LOG.warn("Error reloaded project '" + projectName + "'", ex);
-			}
+			return AnalysisController.loadFromFile(projectFile);
 		}
 		return null;
 
diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/PluginClassLoader.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/PluginClassLoader.java
index cd624f352306c1ae48f03c099da6a94c5f9f9093..fa508c19f73a5b056539cc9df696f5bcc1495b94 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/PluginClassLoader.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/PluginClassLoader.java
@@ -22,6 +22,8 @@ package kieker.webgui.common;
 
 import java.net.URL;
 import java.net.URLClassLoader;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
@@ -46,7 +48,7 @@ public final class PluginClassLoader {
 	/**
 	 * This list contains a class loader for each url added to this class loader.
 	 */
-	private final Map<URL, URLClassLoader> classLoaders = new HashMap<URL, URLClassLoader>();
+	private final Map<String, URLClassLoader> classLoaders = new HashMap<String, URLClassLoader>();
 
 	/**
 	 * The default constructor of this class.
@@ -62,10 +64,15 @@ public final class PluginClassLoader {
 	 *            The URL of the dependency to be added.
 	 */
 	public void addURL(final URL url) {
-		final URLClassLoader newClassLoader = new URLClassLoader(new URL[] { url }, AnalysisController.class.getClassLoader());
-		synchronized (this) {
-			this.classLoaders.put(url, newClassLoader);
-		}
+		/* Create the new class loader within a privileged block. */
+		final URLClassLoader newClassLoader = (URLClassLoader) AccessController.doPrivileged(new PrivilegedAction() {
+			@Override
+			public Object run() {
+				return new URLClassLoader(new URL[] { url }, AnalysisController.class.getClassLoader());
+			}
+		});
+
+		this.classLoaders.put(url.toString(), newClassLoader);
 	}
 
 	/**
@@ -83,8 +90,10 @@ public final class PluginClassLoader {
 	 * 
 	 * @return The singleton instance of this class.
 	 */
-	public static final synchronized PluginClassLoader getInstance() {
-		return PluginClassLoader.INSTANCE;
+	public static final PluginClassLoader getInstance() {
+		synchronized (PluginClassLoader.class) {
+			return PluginClassLoader.INSTANCE;
+		}
 	}
 
 	/**
diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/converter/ClassToStringConverter.java b/Kieker.WebGUI/src/main/java/kieker/webgui/converter/ClassToStringConverter.java
index a6a4094bdf0a92f41319edbb3e52d333e0cac4ff..c84dc840d4730fc50186e9c20aa57c8aecaa3537 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/converter/ClassToStringConverter.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/converter/ClassToStringConverter.java
@@ -30,6 +30,7 @@ import javax.faces.convert.FacesConverter;
 /**
  * 
  * @author Nils Christian Ehmke
+ * @version 1.0
  */
 @FacesConverter(value = ClassToStringConverter.NAME)
 public class ClassToStringConverter implements Converter {
@@ -39,6 +40,9 @@ public class ClassToStringConverter implements Converter {
 	 */
 	public static final String NAME = "kieker.webgui.converter.ClassToStringConverter";
 
+	/**
+	 * This field stores the mapping between the classes as string and the actual classes.
+	 */
 	private final Map<String, Class<?>> mapping;
 
 	/**