Make Constructor.typeDefinitions protected to be more flexible
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index e11559d..e9663e4 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -7,6 +7,9 @@
     </properties>
     <body>
         <release version="1.12-SNAPSHOT" date="in Mercurial" description="Maintenance">
+             <action dev="py4fun" type="fix"  issue="169">
+                Make Constructor.typeDefinitions protected to be more flexible (2013-02-18)
+             </action>
              <action dev="py4fun" type="remove">
                 Remove file AUTHORS because it does not reflect the actual situation (2012-11-09)
              </action>
diff --git a/src/main/java/org/yaml/snakeyaml/constructor/Constructor.java b/src/main/java/org/yaml/snakeyaml/constructor/Constructor.java
index 1e5fcf6..73a1247 100644
--- a/src/main/java/org/yaml/snakeyaml/constructor/Constructor.java
+++ b/src/main/java/org/yaml/snakeyaml/constructor/Constructor.java
@@ -48,7 +48,7 @@
  */
 public class Constructor extends SafeConstructor {
     private final Map<Tag, Class<? extends Object>> typeTags;
-    private final Map<Class<? extends Object>, TypeDescription> typeDefinitions;
+    protected final Map<Class<? extends Object>, TypeDescription> typeDefinitions;
 
     public Constructor() {
         this(Object.class);
@@ -408,8 +408,8 @@
         }
 
         @SuppressWarnings("unchecked")
-        private Object constructStandardJavaInstance(@SuppressWarnings("rawtypes") Class type,
-                ScalarNode node) {
+        private Object constructStandardJavaInstance(@SuppressWarnings("rawtypes")
+        Class type, ScalarNode node) {
             Object result;
             if (type == String.class) {
                 Construct stringConstructor = yamlConstructors.get(Tag.STR);