Index: D:/dev/jackrabbit/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/mapper/model/BeanDescriptor.java
===================================================================
--- D:/dev/jackrabbit/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/mapper/model/BeanDescriptor.java	(revision 551677)
+++ D:/dev/jackrabbit/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/mapper/model/BeanDescriptor.java	(working copy)
@@ -16,10 +16,7 @@
  */
 package org.apache.jackrabbit.ocm.mapper.model;
 
-
 import org.apache.jackrabbit.ocm.manager.beanconverter.BeanConverter;
-import org.apache.jackrabbit.ocm.manager.objectconverter.impl.ObjectConverterImpl;
-import org.apache.jackrabbit.ocm.reflection.ReflectionUtils;
 
 /**
  * BeanDescriptor is used by the mapper to read general information on a bean field
@@ -46,6 +43,7 @@
     private boolean jcrProtected;
     private boolean jcrSameNameSiblings;
     private boolean jcrMultiple;
+    private String defaultPrimaryType;
 
     /**
      * @return Returns the fieldName.
@@ -285,4 +283,12 @@
 		
 		return "Bean Descriptor : " +  this.fieldName;
 	}    
+
+    public String getDefaultPrimaryType() {
+        return defaultPrimaryType;
+    }
+
+    public void setDefaultPrimaryType(String defaultPrimaryType) {
+        this.defaultPrimaryType = defaultPrimaryType;
+    }
 }
Index: D:/dev/jackrabbit/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/mapper/model/ChildNodeDefDescriptor.java
===================================================================
--- D:/dev/jackrabbit/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/mapper/model/ChildNodeDefDescriptor.java	(revision 551677)
+++ D:/dev/jackrabbit/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/mapper/model/ChildNodeDefDescriptor.java	(working copy)
@@ -58,4 +58,10 @@
      * @return Whether the child node definition allows for same name sibblings.
      */
     boolean isJcrSameNameSiblings();
+
+    /**
+     * @return Whether the default not type to use when create new instances of this child
+     */
+    String getDefaultPrimaryType();
+
 }
Index: D:/dev/jackrabbit/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/mapper/model/CollectionDescriptor.java
===================================================================
--- D:/dev/jackrabbit/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/mapper/model/CollectionDescriptor.java	(revision 551677)
+++ D:/dev/jackrabbit/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/mapper/model/CollectionDescriptor.java	(working copy)
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.ocm.mapper.model;
 
+
 /**
  * 
  * CollectionDescriptor is used by the mapper to read general information on a collection field
@@ -43,7 +44,8 @@
      private boolean jcrProtected;
      private boolean jcrSameNameSiblings;     
      private boolean jcrMultiple;
-     
+     private String defaultPrimaryType;
+
      private ClassDescriptor classDescriptor;
     
     /**
@@ -330,4 +332,12 @@
 		
 		return "Collection Descriptor : " +  this.getFieldName();
 	}    
+
+    public String getDefaultPrimaryType() {
+        return defaultPrimaryType;
+    }
+
+    public void setDefaultPrimaryType(String defaultPrimaryType) {
+        this.defaultPrimaryType = defaultPrimaryType;
+    }
 }
