Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/FCKeditor.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/FCKeditor.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/FCKeditor.java	(revision 2101)
@@ -30,11 +30,10 @@
 
 /**
- * FCKeditor control class.<br>
- * 
+ * FCKeditor class.<br />
  * It creates the html code for the FCKeditor based on the following things:
  * <ul>
- * <li>browser's capabilities</li>
+ * <li>browser capabilities</li>
  * <li>different properties settings managed by the {@link PropertiesLoader}</li>
- * <li>settings from the 'caller', eg. jsp-pages</li>
+ * <li>settings from the FCKeditor tag, template engines and other systems</li>
  * </ul>
  * 
@@ -57,6 +56,6 @@
 	/**
 	 * Main constructor.<br>
-	 * All important settings are done here and will be preset by there defaults taken from
-	 * {@link PropertiesLoader}.
+	 * All important settings are done here and will be preset by the defaults
+	 * taken from {@link PropertiesLoader}.
 	 * 
 	 * @param request
@@ -116,6 +115,5 @@
 
 	/**
-	 * Set the initial value to be edited.<br>
-	 * In HTML code
+	 * Set the initial value to be edited as HTML markup.
 	 * 
 	 * @param value
@@ -127,8 +125,7 @@
 
 	/**
-	 * Set the dir where the FCKeditor files reside on the server.<br>
-	 * <b>Remarks</b>:<br>
-	 * Avoid using relative paths. It is preferable to set the base path starting from the root (/).<br>
-	 * Always finish the path with a slash (/).
+	 * Sets the directory where the FCKeditor resides on the server.<br />
+	 * <strong>Remarks</strong>: Avoid using relative paths. Use an absolute
+	 * path from the context (e.g. /fckeditor).
 	 * 
 	 * @param value
@@ -170,7 +167,7 @@
 
 	/**
-	 * Get the advanced configuation set.<br>
-	 * Adding element to this collection you can override the settings specified in the config.js
-	 * file.
+	 * Get the advanced configuation set.<br />
+	 * By adding elements to this collection you can override the settings
+	 * specified in the config.js file.
 	 * 
 	 * @return configuration collection
@@ -190,7 +187,16 @@
 	}
 
+	/**
+	 * Escape base XML entities as specified <a
+	 * href="http://en.wikipedia.org/wiki/Xml#Entity_references">here</a>
+	 * 
+	 * @param txt
+	 *            Text to escape.
+	 * @return Escaped text.
+	 */
 	private String escapeXml(String txt) {
 		if (Utils.isEmpty(txt))
 			return txt;
+		// TODO Strings are inefficent, use StringBuffer instead
 		txt = txt.replaceAll("&", "&#38;");
 		txt = txt.replaceAll("<", "&#60;");
@@ -201,11 +207,16 @@
 	}
 
-	/**
-	 * Minimum implementation, see ticket #27 for detailed information.
+	/*
+	 * (non-Javadoc)
+	 * @see #createHtml()
 	 */
 	public String create() {
 		return createHtml();
 	}
-
+	
+	/*
+	 * (non-Javadoc)
+	 * @see #createHtml()
+	 */
 	@Override
 	public String toString() {
@@ -214,9 +225,10 @@
 
 	/**
-	 * Generate the HTML Code for the editor. <br>
-	 * Evalute the browser capabilities and generate the editor if compatible, or a simple textarea
-	 * otherwise.
-	 * 
-	 * @return html code
+	 * Minimum implementation, see ticket #27 for detailed information. Generate
+	 * the HTML Code for the editor.<br />
+	 * Evaluate the browser capabilities and generate the editor if compatible,
+	 * or a simple textarea otherwise.
+	 * 
+	 * @return FCKeditor html code
 	 */
 	public String createHtml() {
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/FCKeditorConfig.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/FCKeditorConfig.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/FCKeditorConfig.java	(revision 2101)
@@ -34,6 +34,6 @@
 /**
  * Contains the configuration settings for the FCKEditor.<br>
- * Adding element to this collection you can override the settings specified in
- * the config.js file.
+ * By adding elements to this collection you can override the settings specified
+ * in the config.js file.
  * 
  * @version $Id$
@@ -52,8 +52,8 @@
 
 	/**
-	 * Generate the url parameter sequence used to pass this configuration to
-	 * the editor.
+	 * Generates the url parameter sequence from this configuration which is
+	 * passed to the editor.
 	 * 
-	 * @return html endocode sequence of configuration parameters
+	 * @return html encoded sequence of configuration parameters
 	 */
 	public String getUrlParams() {
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 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/connector/ConnectorServlet.java	(revision 2101)
@@ -51,13 +51,17 @@
 
 /**
- * Servlet to upload and browse files.<br>
- * 
- * This servlet accepts 4 commands used to retrieve and create files and folders from a server
- * directory. The allowed commands are:
+ * Servlet to upload and browse files.<br />
+ * 
+ * This servlet accepts 4 commands which interact with the server-side
+ * filesystem.<br />
+ * The allowed commands are:
  * <ul>
- * <li>GetFolders: Retrieve the list of directory under the current folder
- * <li>GetFoldersAndFiles: Retrive the list of files and directory under the current folder
- * <li>CreateFolder: Create a new directory under the current folder
- * <li>FileUpload: Send a new file to the server (must be sent with a POST)
+ * <li><code>GetFolders</code>: Retrieves a list of folders in the current
+ * folder</li>
+ * <li><code>GetFoldersAndFiles</code>: Retrives a list of files and folders
+ * in the current folder</li>
+ * <li><code>CreateFolder</code>: Creates a new folder in the current folder</li>
+ * <li><code>FileUpload</code>: Stores an uploaded file into the current
+ * folder. (must be sent with POST)</li>
  * </ul>
  * 
@@ -70,9 +74,7 @@
 
 	/**
-	 * Initialize the servlet.<br>
-	 * The default directory for user files will be constructed.
+	 * Initialize the servlet: <code>mkdir</code> &lt;DefaultUserFilesPath&gt;
 	 */
 	public void init() throws ServletException, IllegalArgumentException {
-		// check, if 'baseDir' exists
 		String realDefaultUserFilesPath = getServletContext().getRealPath(
 		        ConnectorHandler.getDefaultUserFilesPath());
@@ -81,15 +83,17 @@
 		UtilsFile.checkDirAndCreate(defaultUserFilesDir);
 
-		logger.info("ConnectorServlet successful initialized!");
+		logger.info("ConnectorServlet successfully initialized!");
 	}
 
 	/**
-	 * Manage the Get requests (GetFolders, GetFoldersAndFiles, CreateFolder).<br>
+	 * Manage the <code>GET</code> requests (<code>GetFolders</code>,
+	 * <code>GetFoldersAndFiles</code>, <code>CreateFolder</code>).<br/>
 	 * 
-	 * The servlet accepts commands sent in the following format:<br>
-	 * connector?Command=CommandName&Type=ResourceType&CurrentFolder=FolderPath<br>
-	 * <br>
-	 * It executes the commands and then return the results to the client in XML format.
-	 * 
+	 * The servlet accepts commands sent in the following format:<br/>
+	 * <code>connector?Command=&lt;CommandName&gt;&Type=&lt;ResourceType&gt;&CurrentFolder=&lt;FolderPath&gt;</code>
+	 * <p>
+	 * It executes the commands and then returns the result to the client in XML
+	 * format.
+	 * </p>
 	 */
 	public void doGet(HttpServletRequest request, HttpServletResponse response)
@@ -174,11 +178,12 @@
 
 	/**
-	 * Manage the Post requests (FileUpload).<br>
+	 * Manage the <code>POST</code> requests (<code>FileUpload</code>).<br />
 	 * 
-	 * The servlet accepts commands sent in the following format:<br>
-	 * connector?Command=FileUpload&Type=ResourceType&CurrentFolder=FolderPath<br>
+	 * The servlet accepts commands sent in the following format:<br />
+	 * <code>connector?Command=&lt;FileUpload&gt;&Type=&lt;ResourceType&gt;&CurrentFolder=&lt;FolderPath&gt;</code>
+	 * with the file in the <code>POST</code> body.<br />
 	 * <br>
-	 * It store the file (renaming it in case a file with the same name exists) and then return an
-	 * HTML file with a javascript command in it.
+	 * It stores an uploaded file (renames a file if another exists with the
+	 * same name) and then returns the JavaScript callback.
 	 */
 	@SuppressWarnings("unchecked")
@@ -202,5 +207,6 @@
 		UploadResponse ur;
 
-		// if this is a QuickUpload-Request, 'commandStr' and 'currentFolderStr' are empty
+		// if this is a QuickUpload request, 'commandStr' and 'currentFolderStr'
+		// are empty
 		if (Utils.isEmpty(commandStr) && Utils.isEmpty(currentFolderStr)) {
 			commandStr = "QuickUpload";
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/CommandHandler.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/CommandHandler.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/CommandHandler.java	(revision 2101)
@@ -25,5 +25,5 @@
 
 /**
- * Handler for the get and post commands.
+ * Handler for <code>GET</code> and <code>POST</code> commands.
  * 
  * @version $Id$
@@ -60,5 +60,5 @@
 	 * Getter for the name.
 	 * 
-	 * @return name
+	 * @return The command name
 	 */
 	public String getName() {
@@ -70,8 +70,9 @@
 	 * 
 	 * @param name
-	 * @return A {@link CommandHandler} object holding the value represented by the string
-	 *         argument.
+	 *            A command to retrieve
+	 * @return A {@link CommandHandler} object holding the value represented by
+	 *         the string argument.
 	 * @throws IllegalArgumentException
-	 *             If 'name' is null or can't be parsed.
+	 *             If 'name' is <code>null</code> or does not exist.
 	 */
 	public static CommandHandler valueOf(final String name) throws IllegalArgumentException {
@@ -86,8 +87,11 @@
 
 	/**
-	 * Checks, if a specfied string is a valid representation of a get command.
+	 * Checks if a specfied string represents a valid <code>GET</code>
+	 * command.
 	 * 
 	 * @param name
-	 * @return True, if the string representation is valid, or false.
+	 *            A command string to check
+	 * @return <code>true</code> if the string representation is valid else
+	 *         <code>false</code>.
 	 */
 	public static boolean isValidForGet(final String name) {
@@ -96,8 +100,11 @@
 
 	/**
-	 * Checks, if a specfied string is a valid representation of a post command.
+	 * Checks if a specfied string represents a valid <code>POST</code>
+	 * command.
 	 * 
 	 * @param name
-	 * @return True, if the string representation is valid, or false.
+	 *            A command string to check
+	 * @return <code>true</code> if the string representation is valid else
+	 *         <code>false</code>.
 	 */
 	public static boolean isValidForPost(final String name) {
@@ -107,9 +114,10 @@
 	
 	/**
-	 * A wrapper for {@link #valueOf(String)}. It returns null instead of throwing an exception.
+	 * A wrapper for {@link #valueOf(String)}. It returns null instead of
+	 * throwing an exception.
 	 * 
-	 * @param name
-	 * @return A {@link CommandHandler} object holding the value represented by the string
-	 *         argument, or null.
+	 * @param name A command string to check
+	 * @return A {@link CommandHandler} object holding the value represented by
+	 *         the string argument, or <code>null</code>.
 	 */
 	public static CommandHandler getCommand(final String name) {
@@ -128,4 +136,6 @@
 	@Override
 	public boolean equals(Object obj) {
+		if (obj == null)
+			return false;
 		try {
 			CommandHandler rt = (CommandHandler) obj;
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/ConnectorHandler.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/ConnectorHandler.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/ConnectorHandler.java	(revision 2101)
@@ -26,6 +26,6 @@
 
 /**
- * Handler for some base properties.<br>
- * It's a kind of wrapper to some basic properties handled by the {@link PropertiesLoader}.
+ * Handler for Connector-related properties.<br />
+ * Wraps to the {@link PropertiesLoader}.
  * 
  * @version $Id$
@@ -34,18 +34,20 @@
 
 	/**
-     * Getter for the base dir (using for user files).
-     * 
-     * @return {@link UserPathBuilder#getUserFilesPath(HttpServletRequest)} or the default base dir, if
-     *         {@link UserPathBuilder}} isn't set.
-     */
-    public static String getUserFilesPath(final HttpServletRequest servletRequest) {
-    	String userFilePath = RequestCycleHandler.getUserFilePath(servletRequest);
+	 * Getter for the <code>UserFilesPath</code>.
+	 * 
+	 * @return {@link UserPathBuilder#getUserFilesPath(HttpServletRequest)} or
+	 *         the <code>DefaultUserFilePath</code> if {@link UserPathBuilder}
+	 *         isn't set.
+	 */
+	public static String getUserFilesPath(final HttpServletRequest request) {
+    	String userFilePath = RequestCycleHandler.getUserFilePath(request);
     	return (userFilePath != null) ? userFilePath : getDefaultUserFilesPath();
     }
 
 	/**
-	 * Getter for the default handling of single extensions.
+	 * Getter for the default handling of files with multiple extensions.
 	 * 
-	 * @return the forceSingleExtension
+	 * @return <code>true</code> if single extension only should be enforced
+	 *         else <code>false</code>.
 	 */
 	public static boolean isForceSingleExtension() {
@@ -54,8 +56,9 @@
 
 	/**
-	 * Getter for the value to instruct the connector to return the full URL of a file/folder in the
-	 * XML response rather than the absolute URL.
+	 * Getter for the value to instruct the connector to return the full URL of
+	 * a file/folder in the XML response rather than the absolute URL.
 	 * 
-	 * @return Boolean value of the property 'connector.fullUrl'.
+	 * @return <code>true</code> if the property <code>connector.fullUrl</code> is
+	 *         set else <code>false</code>.
 	 */
 	public static boolean isFullUrl() {
@@ -64,7 +67,7 @@
 
 	/**
-	 * Getter for the default userFilesPath.
+	 * Getter for the default <code>UserFilesPath</code>.
 	 * 
-	 * @return Default userfiles path (/userfiles)
+	 * @return <code>DefaultUserFilesPath</code> (/userfiles)
 	 */
 	public static String getDefaultUserFilesPath() {
@@ -73,7 +76,9 @@
 	
 	/**
-	 * Getter for the value to instruct the Connector to check, if the uploaded image is really one.
+	 * Getter for the value to instruct the Connector to check if the uploaded
+	 * image is really an image.
 	 * 
-	 * @return Boolean value of the property 'connector.secureImageUploads'.
+	 * @return Boolean value of the property
+	 *         <code>connector.secureImageUploads</code>.
 	 */
 	public static boolean isSecureImageUploads() {
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/ExtensionsHandler.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/ExtensionsHandler.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/ExtensionsHandler.java	(revision 2101)
@@ -28,10 +28,13 @@
 
 /**
- * Handler which manages the allowed and denied extensions for each resource type. The
- * extensions are preset by the properties managed by {@link PropertiesLoader}.<br>
- * <br>
- * Hint: It's recommend to use either allowed or denied extensions for one file type.
- * Never use both at the same time! That's why denied extensions of a file type will be 
- * deleted, if you set the allowed one and vice versa.
+ * This handler manages the allowed and denied extensions for each resource
+ * type. The extensions are preset by the properties managed by
+ * {@link PropertiesLoader}.
+ * <p>
+ * <em>Hint</em>: It's recommend to use either allowed or denied extensions for one file
+ * type. <strong>Never</strong> use both at the same time! That's why denied
+ * extensions of a file type will be deleted if you set the allowed one and vice
+ * versa.
+ * </p>
  * 
  * @version $Id$
@@ -74,11 +77,13 @@
 
 	/**
-	 * Setter for the allowed extensions of a file type. The denied extensions will be cleared.<br>
-	 * If 'extensionsList' is null, allowed extensions kept untouched.
+	 * Setter for the allowed extensions of a file type. The denied extensions
+	 * will be cleared.<br />
+	 * If <code>extensionsList</code> is <code>null</code>, allowed
+	 * extensions are kept untouched.
 	 * 
 	 * @param type
-	 *          The file type.
+	 *            The file type.
 	 * @param extensionsList
-	 *          Required format: <code>ext1&#124;ext2&#124;ext3</code>
+	 *            Required format: <code>ext1&#124;ext2&#124;ext3</code>
 	 */
 	public static void setExtensionsAllowed(final ResourceTypeHandler type, final String extensionsList) {
@@ -93,5 +98,5 @@
 	 * 
 	 * @param type
-	 *          The file type.
+	 *            The file type.
 	 * @return Set of denied extensions or an empty set.
 	 */
@@ -101,11 +106,13 @@
 
 	/**
-	 * Setter for the denied extensions of a file type. The allowed extensions will be cleared.<br>
-	 * If 'extensionsList' is null, denied extensions kept untouched.
+	 * Setter for the denied extensions of a file type. The allowed extensions
+	 * will be cleared.<br />
+	 * If <code>extensionsList</code> is <code>null</code>, denied
+	 * extensions are kept untouched.
 	 * 
 	 * @param type
-	 *          The file type.
+	 *            The file type.
 	 * @param extensionsList
-	 *          Required format: <code>ext1&#124;ext2&#124;ext3</code>
+	 *            Required format: <code>ext1&#124;ext2&#124;ext3</code>
 	 */
 	public static void setExtensionsDenied(final ResourceTypeHandler type, final String extensionsList) {
@@ -117,9 +124,13 @@
 
 	/**
-	 * Checks, if an extension is allowed for a file type.
+	 * Checks if an extension is allowed for a file type.
 	 * 
 	 * @param type
+	 *            The resource type you want to check.
 	 * @param extension
-	 * @return True, false. False is returned too, if 'type' or 'extensions' is null.
+	 *            The extension you want to check.
+	 * @return <code>true</code> is extension is allowed else
+	 *         <code>false</code>. <em>Attention</em>: <code>false</code>
+	 *         is always returned if 'type' or 'extensions' is <code>null</code>.
 	 */
 	public static boolean isAllowed(final ResourceTypeHandler type, final String extension) {
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/PropertiesLoader.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/PropertiesLoader.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/PropertiesLoader.java	(revision 2101)
@@ -26,16 +26,21 @@
 import java.util.Properties;
 
-import net.fckeditor.tool.Utils;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Handler to hold the basic properties.<br>
- * The main default file is 'default.properties' in the deepth of the classpath and should be
- * untouched. If there is a file named 'fckeditor.properties' in the root of the classpath, it will
- * be loaded. Values which are loaded before, will be overwritten.<br>
- * If you won't use an extra properties file to adjust the defaults, you can use
- * {@link #setProperty(String, String)} instead.
+ * This handler gives you access to properties stored in
+ * <code>/net/fckeditor/handlers/default.properties</code> and
+ * <code>/fckeditor.properties</code>.<br />
+ * This class loads the properties files as follows:
+ * <ol>
+ * <li>Load <code>default.properties</code></li>
+ * <li>Load <code>fckeditor.properties</code> if present.</li>
+ * </ol>
+ * <em>Attention</em>: Properties specified in
+ * <code>fckeditor.properties</code> will override properties loaded from
+ * <code>default.properties</code>. (intended behavior)<br />
+ * <em>Hint</em>: You may set properties programmatically with
+ * {@link #setProperty(String, String)} instead or additionally.
  * 
  * @version $Id$
@@ -47,5 +52,5 @@
 	static {
 		try {
-			// 1. load system defaults
+			// 1. load library defaults
 			properties.load(new BufferedInputStream(PropertiesLoader.class
 			        .getResourceAsStream("default.properties")));
@@ -54,26 +59,26 @@
 			InputStream in = PropertiesLoader.class.getResourceAsStream("/fckeditor.properties");
 			if (in == null)
-				logger.warn("Can't find user properties!");
+				logger.warn("Can't find fckeditor.properties!");
 			else {
 				try {
 					properties.load(new BufferedInputStream(in));
-					logger.info("User's properties loaded successfully!");
+					logger.info("fckeditor.properties loaded successfully!");
 				} catch (IOException e) {
-					logger.error("Error while loading user properties!", e);
-					throw new RuntimeException("Can't load user properties!", e);
+					logger.error("Error while loading fckeditor.properties!", e);
+					throw new RuntimeException("Can't load fckeditor.properties!", e);
 				}
 			}
 		} catch (IOException e) {
-			logger.error("Error while loading default properties!", e);
-			throw new RuntimeException("Can't load default properties!", e);
+			logger.error("Error while loading default.properties!", e);
+			throw new RuntimeException("Can't load default.properties!", e);
 		}
 	}
 
 	/**
-	 * Getter for a property of 'key'.
+	 * Getter for a property.
 	 * 
 	 * @param key
-	 *            the propery key
-	 * @return the value in this property list with the specified key value.
+	 *            The property key.
+	 * @return The value for the specified key.
 	 * @see Properties#getProperty(String)
 	 */
@@ -83,18 +88,18 @@
 
 	/**
-	 * Setter for a property. If the property already exists, the value will be overwritten.<br>
-	 * Hint: This method is intended for an alternative way to set user defaults programmatically
-	 * instead of using the 'fckeditor.properties'. It should never used inside FCKeditor.Java !!!
+	 * Setter for a property. If the property already exists, the value will be
+	 * overridden.<br />
+	 * <em>Hint</em>: This method is intended as an alternative way to set
+	 * properties programmatically instead of using the
+	 * <code>fckeditor.properties</code>. It should never used inside
+	 * FCKeditor.Java!!!
 	 * 
 	 * @param key
-	 *            key the propery key
+	 *            The property key.
 	 * @param value
-	 * @throws IllegalArgumentException
-	 *             if 'key' is empty.
+	 *            The property value.
 	 * @see Properties#setProperty(String, String)
 	 */
 	public static void setProperty(final String key, final String value) {
-		if (Utils.isEmpty(key))
-			new IllegalArgumentException("The 'key' of a property schouldn't be null!");
 		properties.setProperty(key, value);
 	}
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/RequestCycleHandler.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/RequestCycleHandler.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/RequestCycleHandler.java	(revision 2101)
@@ -30,5 +30,5 @@
 
 /**
- * Handler for classes which implement the interfaces from the package
+ * Handler for classes which implement the interfaces from package
  * {@link net.fckeditor.requestcycle}.
  * 
@@ -46,13 +46,13 @@
 		String fqcn = PropertiesLoader.getProperty("connector.userActionImpl");
 		if (fqcn == null)
-			logger.warn("No property found for UserAction implementation, any user action is disabled!");
+			logger.warn("No property found for UserAction implementation, any user action will be disabled!");
 		else {
 			try {
 				Class<?> clazz = Class.forName(fqcn);
 				userAction = (UserAction) clazz.newInstance();
-				logger.info("UserAction object successful instanciated!");
+				logger.info("UserAction object successfully instantiated!");
 			} catch (Exception e) {
-				logger.error("Couldn't instanciate the class [".concat(fqcn).concat(
-				        "], any user action of the ConnectorServlet is disabled!"), e);
+				logger.error("Couldn't instantiate class [".concat(fqcn).concat(
+				        "], any user action will disabled!"), e);
 			}
 		}
@@ -62,13 +62,13 @@
 		if (fqcn == null)
 			logger.warn("No property found for UserPathBuilder implementation! "
-					.concat("The default of users's 'BaseDir' will be used in the ConnectorServlet!"));
+					.concat("The 'DefaultUserFilesPath' will be used in the ConnectorServlet!"));
 		else {
 			try {
 				Class<?> clazz = Class.forName(fqcn);
 				userPathBuilder = (UserPathBuilder) clazz.newInstance();
-				logger.info("UserPathBuilder object successfull instanciated!");
+				logger.info("UserPathBuilder object successfully instantiated!");
 			} catch (Exception e) {
-				logger.error("Couldn't instanciate the class [".concat(fqcn)
-				        .concat("], The default of users's 'BaseDir' will be used in the ConnectorServlet!"), e);
+				logger.error("Couldn't instantiate class [".concat(fqcn)
+				        .concat("], The 'DefaultUserFilesPath' will be used in the ConnectorServlet!"), e);
 			}
 		}
@@ -76,20 +76,22 @@
 
 	/**
-	 * Just a wrapper to {@link UserAction#isEnabledForFileBrowsing(HttpServletRequest)}.
+	 * Just a wrapper to
+	 * {@link UserAction#isEnabledForFileBrowsing(HttpServletRequest)}.
 	 * 
-	 * @param servletRequest
-	 * @return {@link UserAction#isEnabledForFileBrowsing(HttpServletRequest)} or false, if
-	 *         sessionData isn't set.
+	 * @param request
+	 * @return {@link UserAction#isEnabledForFileBrowsing(HttpServletRequest)}
+	 *         or false if <code>userAction</code> isn't set.
 	 */
-	public static boolean isEnabledForFileBrowsing(final HttpServletRequest servletRequest) {
-		return (userAction != null && userAction.isEnabledForFileBrowsing(servletRequest));
+	public static boolean isEnabledForFileBrowsing(final HttpServletRequest request) {
+		return (userAction != null && userAction.isEnabledForFileBrowsing(request));
 	}
 
 	/**
-	 * Just a wrapper to {@link UserAction#isEnabledForFileUpload(HttpServletRequest)}.
+	 * Just a wrapper to
+	 * {@link UserAction#isEnabledForFileUpload(HttpServletRequest)}.
 	 * 
 	 * @param request
-	 * @return {@link UserAction#isEnabledForFileUpload(HttpServletRequest)} or false, if userAction
-	 *         isn't set.
+	 * @return {@link UserAction#isEnabledForFileUpload(HttpServletRequest)} or
+	 *         false if <code>userAction</code> isn't set.
 	 */
 	public static boolean isEnabledForFileUpload(final HttpServletRequest request) {
@@ -98,10 +100,11 @@
 
 	/**
-	 * Getter for the user's file path.<br>
+	 * Getter for the <code>UserFilesPath</code>.<br />
 	 * Method is used by other handlers only!
 	 * 
 	 * @param request
-	 * @return {@link UserPathBuilder#getUserFilesPath(HttpServletRequest)} or null, if
-	 *         userPathBuilder is null.
+	 * @return {@link UserPathBuilder#getUserFilesPath(HttpServletRequest)} or
+	 *         <code>null</code> if <code>userPathBuilder</code> is
+	 *         <code>null</code>.
 	 */
 	protected static String getUserFilePath(final HttpServletRequest request) {
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/ResourceTypeHandler.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/ResourceTypeHandler.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/ResourceTypeHandler.java	(revision 2101)
@@ -25,5 +25,5 @@
 
 /**
- * Handler for the different resource types.
+ * Handler for different resource types.
  * 
  * @version $Id$
@@ -69,5 +69,5 @@
 
 	/**
-	 * Getter for the path (sub folder).
+	 * Getter for the resource type path (sub folder).
 	 * 
 	 * @return The path (sub folder).
@@ -78,9 +78,10 @@
 
 	/**
-	 * Getter for an {@link ResourceTypeHandler} of a specified string.
+	 * Getter for a {@link ResourceTypeHandler} for a specified string.
 	 * 
 	 * @param name
-	 * @return A {@link ResourceTypeHandler} object holding the value represented by the string
-	 *         argument.
+	 *            A resource type to retrieve.
+	 * @return A {@link ResourceTypeHandler} object holding the value
+	 *         represented by the string argument.
 	 * @throws IllegalArgumentException
 	 *             If 'name' is null can't be parsed.
@@ -97,8 +98,11 @@
 
 	/**
-	 * Checks, if a specfied string is valid representation of a {@link ResourceTypeHandler}.
+	 * 
+	 * Checks if a specfied string represents a valid resource type.
 	 * 
 	 * @param name
-	 * @return True, if the string represrntation is valid, or false.
+	 *            A resource type string to check.
+	 * @return <code>true</code> if the string representation is valid else
+	 *         <code>false</code>.
 	 */
 	public static boolean isValid(final String name) {
@@ -112,9 +116,11 @@
 
 	/**
-	 * A wrapper for {@link #valueOf(String)}. It returns null instead of throwing an exception.
+	 * A wrapper for {@link #valueOf(String)}. It returns <code>null</code>
+	 * instead of throwing an exception.
 	 * 
 	 * @param name
-	 * @return A {@link ResourceTypeHandler} object holding the value represented by the string
-	 *         argument, or null.
+	 *            A resource type string to check.
+	 * @return A {@link ResourceTypeHandler} object holding the value
+	 *         represented by the string argument, or <code>null</code>.
 	 */
 	public static ResourceTypeHandler getResourceType(final String name) {
@@ -133,4 +139,6 @@
 	@Override
 	public boolean equals(Object obj) {
+		if (obj == null)
+			return false;
 		try {
 			ResourceTypeHandler rt = (ResourceTypeHandler) obj;
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/requestcycle/UserAction.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/requestcycle/UserAction.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/requestcycle/UserAction.java	(revision 2101)
@@ -25,9 +25,11 @@
 
 /**
- * Interface that provides the authorization of the following file based user actions:
+ * Interface that provides the authorization of the following file based user
+ * actions:
  * <ul>
- * <li>{@link #isEnabledForFileBrowsing(HttpServletRequest)}: Enables the user to browse/select
- * file.</li>
- * <li>{@link #isEnabledForFileUpload(HttpServletRequest)}: Enables the user to upload files.</li>
+ * <li>{@link #isEnabledForFileBrowsing(HttpServletRequest)}: Enables the user
+ * to browse/select files.</li>
+ * <li>{@link #isEnabledForFileUpload(HttpServletRequest)}: Enables the user
+ * to upload files.</li>
  * </ul>
  * 
@@ -37,20 +39,22 @@
 
 	/**
-	 * Authenticates/enables the current user for uploading file.<br>
+	 * Authenticates/enables the current user for uploading files.<br />
 	 * If the implementation doesn't bother you, just return <code>true</code>.
 	 * 
 	 * @param request
 	 *            Servlet request from user
-	 * @return <code>true</code> if user can upload to the server else <code>false</code>
+	 * @return <code>true</code> if user can upload to the server, or
+	 *         <code>false</code>
 	 */
 	public boolean isEnabledForFileUpload(final HttpServletRequest request);
 
 	/**
-	 * Authenticates/enables the current user for browsing files.<br>
+	 * Authenticates/enables the current user for browsing files.<br />
 	 * If the implementation doesn't bother you, just return <code>true</code>.
 	 * 
 	 * @param request
 	 *            Servlet request from user
-	 * @return <code>true</code> if user can browse the server else <code>false</code>
+	 * @return <code>true</code> if user can browse the server, or
+	 *         <code>false</code>
 	 */
 	public boolean isEnabledForFileBrowsing(final HttpServletRequest request);
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/requestcycle/UserPathBuilder.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/requestcycle/UserPathBuilder.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/requestcycle/UserPathBuilder.java	(revision 2101)
@@ -26,6 +26,7 @@
 
 /**
- * Interface to provide a way to build a user dependent 'BaseDir.
- *
+ * Interface to provide a way to build a user-dependent
+ * <code>UserFilesPath</code>.
+ * 
  * @version $Id$
  */
@@ -33,15 +34,18 @@
 
 	/**
-	 * Getter for the user dependent 'BaseDir'.<br>
-	 * <b>Important:</b>
+	 * Getter for the user-dependent <code>UserFilesPath</code>.<br />
+	 * <strong>Important:</strong>
 	 * <ul>
-	 * <li> If the implementation returns <code>null</code>, {@link ConnectorHandler} will used
-	 * the default one! That's useful, if the implementation doesn't bother you.</li>
-	 * <li>The returned directory string has to start with '/', but has to end without '/'.</li>
-	 * <li>The dir has to be within the context</li>
+	 * <li> If the implementation returns <code>null</code>,
+	 * {@link ConnectorHandler} will used the default one! That's useful, if the
+	 * implementation doesn't bother you.</li>
+	 * <li>The returned directory string has to start with '/', but has to end
+	 * without '/'.</li>
+	 * <li>The path has to be within the context.</li>
 	 * </ul>
 	 * 
 	 * @param request
-	 * @return <code>null</code> or the 'BaseDir' string for the current user.
+	 * @return <code>null</code> or the <code>UserFilesPath</code> for the
+	 *         current user.
 	 */
 	public String getUserFilesPath(final HttpServletRequest request);
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/response/UploadResponse.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/response/UploadResponse.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/response/UploadResponse.java	(revision 2101)
@@ -42,5 +42,4 @@
  * </p>
  * 
- * @since 2.4
  * @version $Id$
  */
@@ -94,5 +93,4 @@
 	 *             if the first argument is not an error number (int)
 	 */
-
 	public UploadResponse(Object... arguments) throws IllegalArgumentException {
 		if (arguments.length < 1 || arguments.length > 4)
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tags/CheckTag.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tags/CheckTag.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tags/CheckTag.java	(revision 2101)
@@ -75,5 +75,5 @@
 
 		HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
-		String response = new String();
+		String response = null;
 
 		if (command.equals(FILE_UPLOAD)) {
@@ -106,4 +106,5 @@
 			out.print(response);
 		} catch (IOException e) {
+			// FIXME log or else
 			e.printStackTrace();
 		}
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tags/ConfigTag.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tags/ConfigTag.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tags/ConfigTag.java	(revision 2101)
@@ -55,4 +55,5 @@
 	public void setDynamicAttribute(String arg0, String arg1, Object arg2)
 			throws JspException {
+		// TODO shall we check arg1 too?
 		if (arg2 != null)
 			params.put(arg1, arg2.toString());
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tags/EditorTag.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tags/EditorTag.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tags/EditorTag.java	(revision 2101)
@@ -33,4 +33,5 @@
 
 /**
+ * TODO revise this documentation
  * FCKeditor Tag class to access the
  * {@linkplain net.fckeditor.FCKeditor container}.<br />
@@ -154,5 +155,5 @@
 
 	/**
-	 * Initializes the FCKeditor container and Sets attributes
+	 * Initializes the FCKeditor container and sets attributes
 	 * 
 	 * @return EVAL_BODY_INCLUDE
@@ -175,4 +176,5 @@
 			out.println(fckEditor);
 		} catch (IOException ioe) {
+			// TODO improve exception message
 			throw new JspException(
 					"Error: IOException while writing to the user");
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tool/Compatibility.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tool/Compatibility.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tool/Compatibility.java	(revision 2101)
@@ -34,9 +34,11 @@
 
 	/**
-	 * Checks, if a browser's user agent string is compatible for the FCKeditor. <br>
-	 * Adapted from: http://dev.fckeditor.net/browser/FCKeditor/releases/stable/fckeditor.php
+	 * Checks if a browser's user agent string is compatible for the FCKeditor.
+	 * <br />
+	 * Adapted from:
+	 * http://dev.fckeditor.net/browser/FCKeditor/releases/stable/fckeditor.php
 	 * 
 	 * @param userAgentString
-	 * @return true, if compatible, otherwise false
+	 * @return <code>true</code> if compatible otherwise <code>false</code>
 	 */
 	public static boolean check(final String userAgentString) {
@@ -85,10 +87,10 @@
 
 	/**
-	 * Helper method to get the the browser version from 'userAgent' with the regular expression
-	 * 'regex'. The first group of the matches has to be the version number!
+	 * Helper method to get the browser version from 'userAgent' with regex. The
+	 * first matching group has to be the version number!
 	 * 
 	 * @param userAgent
 	 * @param regex
-	 * @return The browser version, or -1f, if version con't find out.
+	 * @return The browser version, or -1f if version can't be determined.
 	 */
 	private static float getBrowserVersion(final String userAgent, final String regex) {
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tool/Utils.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tool/Utils.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tool/Utils.java	(revision 2101)
@@ -25,7 +25,4 @@
 import java.util.StringTokenizer;
 
-
-
-
 /**
  * Some static helper methods.
@@ -36,11 +33,10 @@
 
 	/**
-	 * Constructs a set of uppercased strings from a 'delimiter' separated
-	 * string.
+	 * Constructs a set of uppercased strings from a delimiter-separated string.
 	 * 
 	 * @param stringList
 	 * @param delimiter
-	 *            The delimiter. It shouldn't be empty!
-	 * @return An emtpy list, if 'stringList' is empty, or an lowercased set of
+	 *            The delimiter.
+	 * @return An emtpy list if 'stringList' is empty else a lowercased set of
 	 *         strings.
 	 * @throws IllegalArgumentException
@@ -74,9 +70,9 @@
 
 	/**
-	 * Checks if a string is null or empty.
+	 * Checks if a string is <code>null</code> or empty.
 	 * 
 	 * @param str
 	 *            to check
-	 * @return <code>true</code> if the String is empty or null
+	 * @return <code>true</code> if the string is <code>null</code>.
 	 */
 	public static boolean isEmpty(final String str) {
@@ -88,5 +84,6 @@
 	 * 
 	 * @param str
-	 * @return <code>true</code> if the String is not empty and not null.
+	 * @return <code>true</code> if the String is not empty and not
+	 *         <code>null</code>.
 	 */
 	public static boolean isNotEmpty(final String str) {
@@ -95,5 +92,5 @@
 
 	/**
-	 * Replaces all 'search' with 'replacement' in 'string'.<br>
+	 * Replaces all 'search' with 'replacement' in 'string'.<br />
 	 * Usage:
 	 * 
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tool/UtilsFile.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tool/UtilsFile.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tool/UtilsFile.java	(revision 2101)
@@ -44,10 +44,10 @@
 
 	/**
-     * Do a cleanup of the file name to avoid possible problems. <br>
-     * The force single Extension property will be respected!
-     * 
-     * @param fileName
-     * @return folder name where \ / | : ? * &quot; &lt; &gt; 'control chars' replaced by '_'
-     */
+	 * Do a cleanup of the file name to avoid possible problems.<br>
+	 * The <code>forceSingleExtension<code> property will be respected!
+	 * 
+	 * @param fileName
+	 * @return folder name where \ / | : ? * &quot; &lt; &gt; 'control chars' replaced by '_'
+	 */
     public static String sanitizeFileName(final String fileName) {
     	if (fileName == null)
@@ -64,9 +64,10 @@
 
 	/**
-     * Do a cleanup of the folder name to avoid possible problems.
-     * 
-     * @param folderName
-     * @return folder name where . \ / | : ? * &quot; &lt; &gt; 'control chars' replaced by '_'
-     */
+	 * Do a cleanup of the folder name to avoid possible problems.
+	 * 
+	 * @param folderName
+	 * @return folder name where . \ / | : ? * &quot; &lt; &gt; 'control chars'
+	 *         replaced by '_'
+	 */
     public static String sanitizeFolderName(final String folderName) {
     	if (folderName == null)
@@ -82,6 +83,7 @@
 	 * Checks if the underlying file of the InputStrem is an image.
 	 * 
-	 * @param in
-	 * @return <code>True</code>, if the underlying file is an image, or <code>false</code>.
+	 * @param in An input stream
+	 * @return <code>true</code> if the underlying file is an image else
+	 *         <code>false</code>.
 	 */
 	public static boolean isImage(final InputStream in) {
Index: FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tool/XHtmlTagTool.java
===================================================================
--- FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tool/XHtmlTagTool.java	(revision 2068)
+++ FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/tool/XHtmlTagTool.java	(revision 2101)
@@ -31,8 +31,8 @@
  * XHtmlTagTool tag = XHtmlTagTool(&quot;a&quot;, &quot;link&quot;);
  * tag.addAttribute(&quot;href&quot;, &quot;http://google.com&quot;);
- * tag.toString();	: &lt;a href=&quot;http://google.com&quot;&gt;link&lt;/a&gt;
+ * tag.toString();: &lt;a href=&quot;http://google.com&quot;&gt;link&lt;/a&gt;
  * </pre>
  * 
- * Hint:
+ * <em>Hint</em>:
  * <ul>
  * <li>Attributes are not ordered.</li>
@@ -119,4 +119,6 @@
 	@Override
 	public boolean equals(Object obj) {
+		if (obj == null)
+			return false;
 		try {
 			XHtmlTagTool tag = (XHtmlTagTool) obj;
