Index: /trunk/grails-app/controllers/AssetDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/AssetDetailedController.groovy	(revision 304)
+++ /trunk/grails-app/controllers/AssetDetailedController.groovy	(revision 305)
@@ -236,5 +236,5 @@
         }
         else {
-            return [ assetInstance : assetInstance ]
+            return [ assetInstance : assetInstance, possibleAssetSubItems: assetService.possibleAssetSubItems() ]
         }
     }
@@ -251,5 +251,5 @@
 
                     assetInstance.errors.rejectValue("version", "asset.optimistic.locking.failure", "Another user has updated this Asset while you were editing.")
-                    render(view:'edit',model:[assetInstance:assetInstance])
+                    render(view:'edit',model:[assetInstance:assetInstance, possibleAssetSubItems: assetService.possibleAssetSubItems()])
                     return
                 }
@@ -265,5 +265,5 @@
             }
             else {
-                render(view:'edit',model:[assetInstance:assetInstance])
+                render(view:'edit',model:[assetInstance:assetInstance, possibleAssetSubItems: assetService.possibleAssetSubItems()])
             }
         }
Index: /trunk/grails-app/services/AssetService.groovy
===================================================================
--- /trunk/grails-app/services/AssetService.groovy	(revision 304)
+++ /trunk/grails-app/services/AssetService.groovy	(revision 305)
@@ -2,4 +2,15 @@
 
     boolean transactional = false
+
+    /**
+    * Determines and returns a possible list of asset sub items.
+    * @returns A list of the possible assetSubItems.
+    */
+    def possibleAssetSubItems() {
+        def criteria = AssetSubItem.createCriteria()
+        def possibleAssetSubItems = criteria.list() {
+            isNull("parentItem")
+        }
+    }
 
     def create(params) {
