 						// get subtree
 						tempObject = getSessionStateTree(childObject,names[i],objectTypeFilter);
 						if (tempObject != null)
-							result.children.push(tempObject);
+							result[TREE_CHILDREN].push(tempObject);
 					}
 				}
 			}

		 */
		private function _getChildPropertyName(parent:ILinkableObject, child:ILinkableObject):String
		{
			// find the property name that returns the child
			for each (var name:String in getLinkablePropertyNames(parent))
				if (parent[name] == child)
					return name;
			return null;
		}
		

				}
				for each (var name:String in names)
				{
					if (object is ILinkableDynamicObject)
						childObject = (object as ILinkableDynamicObject).internalObject;
					else
						childObject = object[name];
					if (!childObject)
						continue;
					if (/* object is ILinkableDynamicObject ||  */childToParentDictionaryMap[childObject] && childToParentDictionaryMap[childObject][object])
