Index: /FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/connector/ConnectorServlet.java
===================================================================
--- /FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/connector/ConnectorServlet.java	(revision 3580)
+++ /FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/connector/ConnectorServlet.java	(revision 3581)
@@ -29,47 +29,15 @@
 import javax.servlet.http.HttpServletResponse;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import net.fckeditor.requestcycle.Context;
 import net.fckeditor.requestcycle.ThreadLocalData;
 import net.fckeditor.response.GetResponse;
 import net.fckeditor.response.UploadResponse;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 /**
- * This is the main Connector servlet of the FCKeditor.<br/>
- * Let's take a close look at the workflow of this servlet and depending classes. <br/>
- * <br/>
- * This is the only servlet, which has to registered in the web.xml. It is not a concrete implementation of a connector which directly
- * interprets the commands of the File Browser (see:
- * http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Server_Side_Integration#The_Commands), but it does a lot of configuration and
- * delegates the requests to the depended classes.<br/>
- * Important depending classes and its functions:
- * <ul>
- * <li>{@link Dispatcher}, it's a kind of 'middleman', which verifies the request parameters and forwards them to the current implementation
- * of {@link Connector}. It directly interprets the commands of the File Browser. Dependent on the verification of the parameters and calls
- * of the methods of the {@link Connector}, {@link GetResponse} or {@link UploadResponse} are initialized, which is used to build the
- * {@link HttpServletResponse}.</li>
- * <li>{@link ThreadLocalData}, it's a container for {@link HttpServletRequest} and {@link Context} and provides static access to then
- * wherever you want.</li>
- * </ul>
- * <br>
- * In detail, for each request the following steps have to be done:
- * <ul>
- * <li>Initialization of the {@link Dispatcher} object.</li>
- * <li>Calling {@link ThreadLocalData#beginRequest(HttpServletRequest)} to initialize the {@link ThreadLocal}s.</li>
- * <li>Forwarding the requests:
- * <ul>
- * <li><code>GET</code> to {@link Dispatcher#doGet(HttpServletRequest, HttpServletResponse)}</li>
- * <li><code>POST</code> to {@link Dispatcher#doPost(HttpServletRequest, HttpServletResponse)}.</li>
- * </ul>
- * </li>
- * <li>Calling {@link ThreadLocalData#endRequest()} to cleanup all {@link ThreadLocal}s independent of if an exception was thrown or not.<br/>
- * <b>Important</b>: This workflow guarantees the correct cleaning up of the {@link ThreadLocalData}, - it's essential because of preventing
- * memory-leaks!</li>
- * </ul>
- * 
- * @see Connector
- * @see Dispatcher
+ * Connector servlet of the file browser. It accepts requests begins the request
+ * cycle, forwards requests to the {@link Dispatcher dispatcher} and ends the
+ * request cycle with an appropriate {@link net.fckeditor.response response}.<br/>
  * 
  * @version $Id$
@@ -81,5 +49,9 @@
 
 	/**
-	 * Initializes the {@link Dispatcher}.
+	 * Initializes this servlet. It initializes the dispatcher internally.
+	 * 
+	 * @throws ServletException
+	 *             if an exception occurs that interrupts the servlet's normal
+	 *             operation
 	 */
 	@Override
@@ -99,5 +71,5 @@
 		request.setCharacterEncoding("UTF-8");
 		response.setCharacterEncoding("UTF-8");
-		response.setContentType("application/xml; charset=UTF-8");
+		response.setContentType("application/xml");
 		response.setHeader("Cache-Control", "no-cache");
 		PrintWriter out = response.getWriter();
@@ -110,4 +82,9 @@
 			throw new ServletException(e);
 		} finally {
+			/*
+			 * call this method to prevent detached requests or else the request
+			 * will probably never be garbage collected and will fill your
+			 * memory
+			 */
 			ThreadLocalData.endRequest();
 		}
@@ -124,5 +101,5 @@
 		request.setCharacterEncoding("UTF-8");
 		response.setCharacterEncoding("UTF-8");
-		response.setContentType("text/html; charset=UTF-8");
+		response.setContentType("text/html");
 		response.setHeader("Cache-Control", "no-cache");
 		PrintWriter out = response.getWriter();
@@ -135,4 +112,9 @@
 			throw new ServletException(e);
 		} finally {
+			/*
+			 * call this method to prevent detached requests or else the request
+			 * will probably never be garbage collected and will fill your
+			 * memory
+			 */
 			ThreadLocalData.endRequest();
 		}
Index: /FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/connector/Dispatcher.java
===================================================================
--- /FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/connector/Dispatcher.java	(revision 3580)
+++ /FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/connector/Dispatcher.java	(revision 3581)
@@ -69,9 +69,9 @@
 	private final Logger logger = LoggerFactory.getLogger(Dispatcher.class);
 	private Connector connector;
-	
-	/**
-	 * Initializes this dispatcher. This method will be called at the
-	 * {@link ConnectorServlet#init() init} of the connector servlet.
-	 * 
+
+	/**
+	 * Initializes this dispatcher. It initializes the connector internally.
+	 * 
+	 * @see ConnectorServlet#init()
 	 * @param servletContext
 	 *            reference to the {@link ServletContext} in which the caller is
Index: /FCKeditor.Java/trunk/java-core/src/main/javadoc/net/fckeditor/connector/package.html
===================================================================
--- /FCKeditor.Java/trunk/java-core/src/main/javadoc/net/fckeditor/connector/package.html	(revision 3580)
+++ /FCKeditor.Java/trunk/java-core/src/main/javadoc/net/fckeditor/connector/package.html	(revision 3581)
@@ -28,5 +28,5 @@
 This package covers all request-related classes and implementations which handle
 resource management requests from the user.
-
+<img src="doc-files/sequence-diagram.png" alt="Sequence Diagram" title="Sequence Diagram" />
 <h2>Related Documentation</h2>
 
Index: /FCKeditor.Java/trunk/java-core/src/main/javadoc/net/fckeditor/connector/sequence-diagram.src
===================================================================
--- /FCKeditor.Java/trunk/java-core/src/main/javadoc/net/fckeditor/connector/sequence-diagram.src	(revision 3581)
+++ /FCKeditor.Java/trunk/java-core/src/main/javadoc/net/fckeditor/connector/sequence-diagram.src	(revision 3581)
@@ -0,0 +1,28 @@
+Generated with http://www.websequencediagrams.com/
+
+participant Request as R
+participant ConnectorServlet as CS
+participant ThreadLocalData as TLD
+participant Dispatcher as D
+participant Connector as C
+
+R -> CS: do*(request, response)
+note right of R: * (asterisk) denotes\n'Get' or 'Post'
+activate CS
+CS -> TLD: beginRequest(request)
+activate TLD
+CS -> D: do*(request)
+activate D
+D -> C: call method
+activate C
+    C --> D: response (if any) or\nraise exception
+deactivate C
+D --> CS: respond
+deactivate D
+note over TLD: This is very important\nto prevent memory leaks
+TLD --> CS: endRequest()
+destroy TLD
+CS --> R: respond
+deactivate CS
+
+Style 'qsd', Scale 100 %
