refactor Constructor: give class constructor better names
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 25d6dd0..4375332 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -13,7 +13,7 @@
             </action>

             <action dev="py4fun" type="update">

                 Refactor: Constructor is rewritten. Do not overwrite methods from BaseConstructor. 

-                Instead introduce ConstructScalarObject, ConstructSeqFromClass, ConstructMappingFromClass.

+                Instead introduce ConstructScalar, ConstructSequence, ConstructMapping.

                 Tests are not finished yet (2009-07-31)

             </action>

             <action dev="py4fun" type="update">

diff --git a/src/main/java/org/yaml/snakeyaml/constructor/Constructor.java b/src/main/java/org/yaml/snakeyaml/constructor/Constructor.java
index 3ab5d60..a2e4038 100644
--- a/src/main/java/org/yaml/snakeyaml/constructor/Constructor.java
+++ b/src/main/java/org/yaml/snakeyaml/constructor/Constructor.java
@@ -49,9 +49,9 @@
         rootType = theRoot;
         typeTags = new HashMap<String, Class<? extends Object>>();
         typeDefinitions = new HashMap<Class<? extends Object>, TypeDescription>();
-        yamlClassConstructors.put(NodeId.scalar, new ConstructScalarObject());
-        yamlClassConstructors.put(NodeId.mapping, new ConstructMappingFromClass());
-        yamlClassConstructors.put(NodeId.sequence, new ConstructSeqFromClass());
+        yamlClassConstructors.put(NodeId.scalar, new ConstructScalar());
+        yamlClassConstructors.put(NodeId.mapping, new ConstructMapping());
+        yamlClassConstructors.put(NodeId.sequence, new ConstructSequence());
     }
 
     /**
@@ -98,7 +98,11 @@
         return typeDefinitions.put(definition.getType(), definition);
     }
 
-    private class ConstructMappingFromClass implements Construct {
+    /**
+     * Construct mapping instance (Map, JavaBean) when the runtime class is
+     * known.
+     */
+    private class ConstructMapping implements Construct {
         /**
          * Construct JavaBean. If type safe collections are used please look at
          * <code>TypeDescription</code>.
@@ -260,6 +264,12 @@
         }
     }
 
+    /**
+     * Construct an instance when the runtime class is not known but a global
+     * tag with a class name is defined. It delegates the construction to the
+     * appropriate constructor based on the node kind (scalar, sequence,
+     * mapping)
+     */
     private class ConstructYamlObject extends AbstractConstruct {
         @SuppressWarnings("unchecked")
         public Object construct(Node node) {
@@ -267,6 +277,7 @@
             try {
                 Class cl = getClassForNode(node);
                 node.setType(cl);
+                // call the constructor as if the runtime class is defined
                 Construct constructor = yamlClassConstructors.get(node.getNodeId());
                 result = constructor.construct(node);
             } catch (Exception e) {
@@ -281,7 +292,7 @@
      * Construct scalar instance when the runtime class is known. Recursive
      * structures are not supported.
      */
-    private class ConstructScalarObject extends AbstractConstruct {
+    private class ConstructScalar extends AbstractConstruct {
         @SuppressWarnings("unchecked")
         public Object construct(Node nnode) {
             ScalarNode node = (ScalarNode) nnode;
@@ -402,8 +413,11 @@
         }
     }
 
-    private class ConstructSeqFromClass implements Construct {
-
+    /**
+     * Construct sequence (List, Array, or immutable object) when the runtime
+     * class is known.
+     */
+    private class ConstructSequence implements Construct {
         @SuppressWarnings("unchecked")
         public Object construct(Node node) {
             SequenceNode snode = (SequenceNode) node;