Index: /home/ntoper/workspace/jackrabbit/java/org/apache/jackrabbit/core/BatchedItemOperations.java
===================================================================
--- /home/ntoper/workspace/jackrabbit/java/org/apache/jackrabbit/core/BatchedItemOperations.java	(revision 431959)
+++ /home/ntoper/workspace/jackrabbit/java/org/apache/jackrabbit/core/BatchedItemOperations.java	(working copy)
@@ -117,6 +117,13 @@
      * current session used for checking access rights and locking status
      */
     protected final SessionImpl session;
+    /**
+     * AutoCreate flag to know when creating another node if we should
+     * auto-create its mandatory children or not.
+     * 
+     * Set to true by default
+     */
+    private boolean autoCreate = true;
 
     /**
      * Creates a new <code>BatchedItemOperations</code> instance.
@@ -1054,13 +1061,15 @@
             PropDef pd = pda[i];
             createPropertyState(node, pd.getName(), pd.getRequiredType(), pd);
         }
-
-        // recursively add 'auto-create' child nodes defined in node type
-        NodeDef[] nda = ent.getAutoCreateNodeDefs();
-        for (int i = 0; i < nda.length; i++) {
-            NodeDef nd = nda[i];
-            createNodeState(node, nd.getName(), nd.getDefaultPrimaryType(),
-                    null, null, nd);
+        
+        if (isAutoCreate()) {
+            // recursively add 'auto-create' child nodes defined in node type
+            NodeDef[] nda = ent.getAutoCreateNodeDefs();
+            for (int i = 0; i < nda.length; i++) {
+                NodeDef nd = nda[i];
+                createNodeState(node, nd.getName(), nd.getDefaultPrimaryType(),
+                        null, null, nd);
+            }
         }
 
         // store node
@@ -1805,4 +1814,12 @@
         }
         return vh;
     }
+
+    public boolean isAutoCreate() {
+        return autoCreate;
+    }
+
+    public void setAutoCreate(boolean autoCreate) {
+        this.autoCreate = autoCreate;
+    }
 }
