 			var results:Array = [];
 			for (var parent:Object in childToParentDictionaryMap[descendant])
 			{
-				var name:String;
-				if (parent is ILinkableHashMap)
-					name = (parent as ILinkableHashMap).getName(descendant);
-				else
-					name = _getChildPropertyName(parent as ILinkableObject, descendant);
-				
+				var name:String = _getChildPropertyName(parent as ILinkableObject, descendant);
 				if (name != null)
 				{
 					// this parent may be the one we want

		 */
		public function getSessionStateTree(object:ILinkableObject, objectName:String, objectTypeFilter:*=null):Object
		{
			var result:Object = {label: objectName, object: object, children: []};
			
			var names:Array = [];
			var childObject:ILinkableObject;

				}
				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])
