package org.oblodiff.token;

import org.oblodiff.token.api.Token;

/**
 * The basic implementation of a {@link Token}, contains code that all {@link Token}s share.
 *
 * @param <T> the type of the content this token represents
 * @author Christian Rösch &lt;christianroesch@gmx.net&gt;
 */
public abstract class BasicToken<T extends Object> implements Token {

    /**
     * the representation of the value/content of this token.
     */
    private final T content;

    public BasicToken(final T ct) {
        super();
        content = ct;
    }

    @Override
    public final int hashCode() {
        return content.hashCode();
    }

    @Override
    public final boolean equals(Object obj) {
        if (!(obj instanceof BasicToken)) {
            return false;
        }

        return content.equals(((BasicToken) obj).content);
    }

    protected T getContent() {
        return content;
    }

    @Override
    public String toString() {
        return super.toString() + " >" + content + "<";
    }
}

@@ -321,23 +321,8 @@
 en%3CT
- extends Object
 %3E im
@@ -447,16 +447,130 @@
 ntent;%0A%0A
+    /**%0A     * @param ct the content this token represents.%0A     * @see #getContent() for further details%0A     */%0A
     publ
@@ -805,14 +805,15 @@
     
-if (!(
+return 
 obj 
@@ -837,115 +837,179 @@
 oken
-)) %7B%0A            return false
+ && content.equals(((BasicToken) obj).content)
 ;%0A    
+%7D%0A%0A
     
-%7D%0A
+/**
 %0A     
-   
+* @
 return 
+the 
 content
-.equals(((BasicToken) obj).content);%0A    %7D%0A
+ of this token. The content is used for generating the hash of this token.%0A     */
 %0A   

Add JavaDoc and remove warnings.