Improve JavaDoc
diff --git a/src/main/java/org/yaml/snakeyaml/DumperOptions.java b/src/main/java/org/yaml/snakeyaml/DumperOptions.java
index bfdaff5..844233f 100644
--- a/src/main/java/org/yaml/snakeyaml/DumperOptions.java
+++ b/src/main/java/org/yaml/snakeyaml/DumperOptions.java
@@ -31,8 +31,9 @@
      * double-quoted style. These styles offer a range of trade-offs between
      * expressive power and readability.
      * 
-     * @see http://yaml.org/spec/1.1/#id903915
-     * @see http://yaml.org/spec/1.1/#id858081
+     * @see <a href="http://yaml.org/spec/1.1/#id903915">Chapter 9. Scalar
+     *      Styles</a>
+     * @see <a href="http://yaml.org/spec/1.1/#id858081">2.3. Scalars</a>
      */
     public enum ScalarStyle {
         DOUBLE_QUOTED(Character.valueOf('"')), SINGLE_QUOTED(Character.valueOf('\'')), LITERAL(
@@ -77,8 +78,8 @@
      * document. In contrast, flow styles rely on explicit indicators to denote
      * nesting and scope.
      * 
-     * @see 3.2.3.1. Node Styles (http://yaml.org/spec/1.1)
-     * @see http://www.yaml.org/spec/current.html#id2509255
+     * @see <a href="http://www.yaml.org/spec/current.html#id2509255">3.2.3.1.
+     *      Node Styles (http://yaml.org/spec/1.1)</a>
      */
     public enum FlowStyle {
         FLOW(Boolean.TRUE), BLOCK(Boolean.FALSE), AUTO(null);
@@ -238,7 +239,6 @@
      * 
      * @param canonical
      *            true produce canonical YAML document
-     * @return
      */
     public void setCanonical(boolean canonical) {
         this.canonical = canonical;
diff --git a/src/main/java/org/yaml/snakeyaml/JavaBeanLoader.java b/src/main/java/org/yaml/snakeyaml/JavaBeanLoader.java
index 748b1c6..a078600 100644
--- a/src/main/java/org/yaml/snakeyaml/JavaBeanLoader.java
+++ b/src/main/java/org/yaml/snakeyaml/JavaBeanLoader.java
@@ -31,7 +31,9 @@
  * ignored in favour of the runtime class <code>T</code>.
  * 
  * @deprecated use Yaml.loadAs() methods instead
- * @see http://www.artima.com/weblogs/viewpost.jsp?thread=208860
+ * @see <a
+ *      href="http://www.artima.com/weblogs/viewpost.jsp?thread=208860">Reflecting
+ *      generics</a>
  */
 public class JavaBeanLoader<T> {
     private Yaml loader;
diff --git a/src/main/java/org/yaml/snakeyaml/Yaml.java b/src/main/java/org/yaml/snakeyaml/Yaml.java
index 102025e..968d542 100644
--- a/src/main/java/org/yaml/snakeyaml/Yaml.java
+++ b/src/main/java/org/yaml/snakeyaml/Yaml.java
@@ -212,7 +212,8 @@
     /**
      * Produce the corresponding representation tree for a given Object.
      * 
-     * @see http://yaml.org/spec/1.1/#id859333
+     * @see <a href="http://yaml.org/spec/1.1/#id859333">Figure 3.1. Processing
+     *      Overview</a>
      * @param data
      *            instance to build the representation tree for
      * @return representation tree
@@ -355,7 +356,7 @@
     /**
      * Serialize the representation tree into Events.
      * 
-     * @see http://yaml.org/spec/1.1/#id859333
+     * @see <a href="http://yaml.org/spec/1.1/#id859333">Processing Overview</a>
      * @param data
      *            representation tree
      * @return Event list
@@ -551,7 +552,8 @@
      * Parse the first YAML document in a stream and produce the corresponding
      * representation tree. (This is the opposite of the represent() method)
      * 
-     * @see http://yaml.org/spec/1.1/#id859333
+     * @see <a href="http://yaml.org/spec/1.1/#id859333">Figure 3.1. Processing
+     *      Overview</a>
      * @param yaml
      *            YAML document
      * @return parsed root Node for the specified YAML document
@@ -566,7 +568,7 @@
      * Parse all YAML documents in a stream and produce corresponding
      * representation trees.
      * 
-     * @see http://yaml.org/spec/1.1/#id859333
+     * @see <a href="http://yaml.org/spec/1.1/#id859333">Processing Overview</a>
      * @param yaml
      *            stream of YAML documents
      * @return parsed root Nodes for all the specified YAML documents
@@ -665,7 +667,7 @@
     /**
      * Parse a YAML stream and produce parsing events.
      * 
-     * @see http://yaml.org/spec/1.1/#id859333
+     * @see <a href="http://yaml.org/spec/1.1/#id859333">Processing Overview</a>
      * @param yaml
      *            YAML document(s)
      * @return parsed events
diff --git a/src/main/java/org/yaml/snakeyaml/constructor/Construct.java b/src/main/java/org/yaml/snakeyaml/constructor/Construct.java
index 46ccf79..7fb3250 100644
--- a/src/main/java/org/yaml/snakeyaml/constructor/Construct.java
+++ b/src/main/java/org/yaml/snakeyaml/constructor/Construct.java
@@ -22,7 +22,8 @@
  * recursive objects if it is required. (create Native Data Structure out of
  * Node Graph)
  * 
- * @see http://yaml.org/spec/1.1/#id859109
+ * @see <a href="http://yaml.org/spec/1.1/#id859109">Chapter 3. Processing YAML
+ *      Information</a>
  */
 public interface Construct {
     /**
diff --git a/src/main/java/org/yaml/snakeyaml/events/Event.java b/src/main/java/org/yaml/snakeyaml/events/Event.java
index 9138d1a..45437f1 100644
--- a/src/main/java/org/yaml/snakeyaml/events/Event.java
+++ b/src/main/java/org/yaml/snakeyaml/events/Event.java
@@ -47,7 +47,7 @@
     }
 
     /**
-     * @see __repr__ for Event in PyYAML
+     * @see "__repr__ for Event in PyYAML"
      */
     protected String getArguments() {
         return "";
diff --git a/src/main/java/org/yaml/snakeyaml/events/ImplicitTuple.java b/src/main/java/org/yaml/snakeyaml/events/ImplicitTuple.java
index c98f991..daee657 100644
--- a/src/main/java/org/yaml/snakeyaml/events/ImplicitTuple.java
+++ b/src/main/java/org/yaml/snakeyaml/events/ImplicitTuple.java
@@ -20,7 +20,7 @@
  * if the tag may be omitted when the scalar is emitted in a plain and non-plain
  * style correspondingly.
  * 
- * @see http://pyyaml.org/wiki/PyYAMLDocumentation#Events
+ * @see <a href="http://pyyaml.org/wiki/PyYAMLDocumentation#Events">Events</a>
  */
 public class ImplicitTuple {
     private final boolean plain;
diff --git a/src/main/java/org/yaml/snakeyaml/events/ScalarEvent.java b/src/main/java/org/yaml/snakeyaml/events/ScalarEvent.java
index e5a090a..91b4380 100644
--- a/src/main/java/org/yaml/snakeyaml/events/ScalarEvent.java
+++ b/src/main/java/org/yaml/snakeyaml/events/ScalarEvent.java
@@ -65,7 +65,8 @@
      * <dd>Block Style - Folded</dd>
      * </dl>
      * 
-     * @see http://yaml.org/spec/1.1/#id864487
+     * @see <a href="http://yaml.org/spec/1.1/#id864487">Kind/Style
+     *      Combinations</a>
      * @return Style of the scalar.
      */
     public Character getStyle() {
diff --git a/src/main/java/org/yaml/snakeyaml/nodes/Node.java b/src/main/java/org/yaml/snakeyaml/nodes/Node.java
index 14d2fe6..31325cb 100644
--- a/src/main/java/org/yaml/snakeyaml/nodes/Node.java
+++ b/src/main/java/org/yaml/snakeyaml/nodes/Node.java
@@ -70,7 +70,7 @@
     /**
      * For error reporting.
      * 
-     * @see class variable 'id' in PyYAML
+     * @see "class variable 'id' in PyYAML"
      * @return scalar, sequence, mapping
      */
     public abstract NodeId getNodeId();
diff --git a/src/main/java/org/yaml/snakeyaml/nodes/ScalarNode.java b/src/main/java/org/yaml/snakeyaml/nodes/ScalarNode.java
index 175fdca..d5a8ace 100644
--- a/src/main/java/org/yaml/snakeyaml/nodes/ScalarNode.java
+++ b/src/main/java/org/yaml/snakeyaml/nodes/ScalarNode.java
@@ -46,8 +46,8 @@
      * Get scalar style of this node.
      * 
      * @see org.yaml.snakeyaml.events.ScalarEvent
-     * @see http://yaml.org/spec/1.1/#id903915
-     * @return
+     * @see <a href="http://yaml.org/spec/1.1/#id903915">Chapter 9. Scalar
+     *      Styles</a>
      */
     public Character getStyle() {
         return style;
diff --git a/src/main/java/org/yaml/snakeyaml/parser/VersionTagsTuple.java b/src/main/java/org/yaml/snakeyaml/parser/VersionTagsTuple.java
index 727008d..e52a760 100644
--- a/src/main/java/org/yaml/snakeyaml/parser/VersionTagsTuple.java
+++ b/src/main/java/org/yaml/snakeyaml/parser/VersionTagsTuple.java
@@ -38,4 +38,9 @@
     public Map<String, String> getTags() {
         return tags;
     }
+
+    @Override
+    public String toString() {
+        return String.format("VersionTagsTuple<%s, %s>", version, tags);
+    }
 }
diff --git a/src/main/java/org/yaml/snakeyaml/reader/StreamReader.java b/src/main/java/org/yaml/snakeyaml/reader/StreamReader.java
index 6dd40e4..eefa28d 100644
--- a/src/main/java/org/yaml/snakeyaml/reader/StreamReader.java
+++ b/src/main/java/org/yaml/snakeyaml/reader/StreamReader.java
@@ -137,7 +137,7 @@
      * Peek the next index-th character
      * 
      * @param index
-     * @return
+     * @return the next index-th character
      */
     public char peek(int index) {
         if (this.pointer + index + 1 > this.buffer.length()) {
@@ -150,7 +150,7 @@
      * peek the next length characters
      * 
      * @param length
-     * @return
+     * @return the next length characters
      */
     public String prefix(int length) {
         if (this.pointer + length >= this.buffer.length()) {
diff --git a/src/main/java/org/yaml/snakeyaml/representer/Represent.java b/src/main/java/org/yaml/snakeyaml/representer/Represent.java
index f734b6e..1042f46 100644
--- a/src/main/java/org/yaml/snakeyaml/representer/Represent.java
+++ b/src/main/java/org/yaml/snakeyaml/representer/Represent.java
@@ -21,7 +21,8 @@
  * Create a Node Graph out of the provided Native Data Structure (Java
  * instance).
  * 
- * @see http://yaml.org/spec/1.1/#id859109
+ * @see <a href="http://yaml.org/spec/1.1/#id859109">Chapter 3. Processing YAML
+ *      Information</a>
  */
 public interface Represent {
     /**
diff --git a/src/main/java/org/yaml/snakeyaml/scanner/ScannerImpl.java b/src/main/java/org/yaml/snakeyaml/scanner/ScannerImpl.java
index 946ccc9..b97f778 100644
--- a/src/main/java/org/yaml/snakeyaml/scanner/ScannerImpl.java
+++ b/src/main/java/org/yaml/snakeyaml/scanner/ScannerImpl.java
@@ -92,7 +92,8 @@
      * 
      * YAML defines several common and a few uncommon escape sequences.
      * 
-     * @see http://www.yaml.org/spec/current.html#id2517668
+     * @see <a href="http://www.yaml.org/spec/current.html#id2517668">4.1.6.
+     *      Escape Sequences</a>
      */
     public final static Map<Character, String> ESCAPE_REPLACEMENTS = new HashMap<Character, String>();
 
@@ -107,7 +108,8 @@
      * &#92;UHHHHHHHH   : escaped 32-bit Unicode character
      * </pre>
      * 
-     * @see http://yaml.org/spec/1.1/current.html#id872840
+     * @see <a href="http://yaml.org/spec/1.1/current.html#id872840">5.6. Escape
+     *      Sequences</a>
      */
     public final static Map<Character, Integer> ESCAPE_CODES = new HashMap<Character, Integer>();
 
diff --git a/src/main/java/org/yaml/snakeyaml/tokens/Token.java b/src/main/java/org/yaml/snakeyaml/tokens/Token.java
index bbc503f..3302894 100644
--- a/src/main/java/org/yaml/snakeyaml/tokens/Token.java
+++ b/src/main/java/org/yaml/snakeyaml/tokens/Token.java
@@ -47,7 +47,7 @@
     }
 
     /**
-     * @see __repr__ for Token in PyYAML
+     * @see "__repr__ for Token in PyYAML"
      */
     protected String getArguments() {
         return "";
@@ -56,7 +56,7 @@
     /**
      * For error reporting.
      * 
-     * @see class variable 'id' in PyYAML
+     * @see "class variable 'id' in PyYAML"
      */
     public abstract Token.ID getTokenId();
 
diff --git a/src/test/java/org/yaml/snakeyaml/parser/VersionTagsTupleTest.java b/src/test/java/org/yaml/snakeyaml/parser/VersionTagsTupleTest.java
new file mode 100644
index 0000000..57da4bb
--- /dev/null
+++ b/src/test/java/org/yaml/snakeyaml/parser/VersionTagsTupleTest.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) 2008-2012, http://www.snakeyaml.org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.yaml.snakeyaml.parser;
+
+import java.util.HashMap;
+
+import junit.framework.TestCase;
+
+import org.yaml.snakeyaml.DumperOptions.Version;
+
+public class VersionTagsTupleTest extends TestCase {
+
+    public void testToString() {
+        VersionTagsTuple tuple = new VersionTagsTuple(Version.V1_1, new HashMap<String, String>());
+        assertEquals("VersionTagsTuple<Version: 1.1, {}>", tuple.toString());
+    }
+}