     import weave.primitives.WeaveTreeItem;
 
 	/**
-	 * The following properties are used for equality comparison:<br>
+	 * The following properties are used for equality comparison, in addition to node class definitions:<br>
 	 * <code>source, data, idFields, columnMetadata</code><br>
 	 * The following properties are used by ColumnTreeNode but not for equality comparison:<br>
 	 * <code>label, children, isBranch, hasChildBranches</code><br>

			var that:ColumnTreeNode = other as ColumnTreeNode;
			if (!that)
				return other.equals(this);
			
			// compare source
			if (this.source != that.source)

		 */
		private function cache(id:String, value:Object):*
		{
			if (source)
			{
				_counter[id] = getCallbackCollection(source).triggerCounter;
				_cache[id] = value;
			}
			return value;
		}
		
		/**
