 
 		public function getMetadata(attributeName:String):String
 		{
-			return _internalColumn ? _internalColumn.getMetadata(attributeName) : null;
+			return getInternalColumn() ? _internalColumn.getMetadata(attributeName) : null;
 		}
 
 		/**

		 */
		public function get keys():Array
		{
			return _internalColumn ? _internalColumn.keys : [];
		}

		/**

		{
			return dynamicColumnReference.internalObject as IColumnReference;
		}
		
		/**
		 * @inheritDoc 
		 */		
		public function getInternalColumn():IAttributeColumn
		{
			if (_dynamicRefTriggerCounter != dynamicColumnReference.triggerCounter)
			{
				_dynamicRefTriggerCounter = dynamicColumnReference.triggerCounter;
				
				var newColumn:IAttributeColumn = WeaveAPI.AttributeColumnCache.getColumn(internalColumnReference);
				// do nothing if this is the same column
				if (_internalColumn != newColumn)
				{
					if (_internalColumn)
						_internalColumn.removeCallback(triggerCallbacks);
		
					_internalColumn = newColumn;
					
					if (_internalColumn)
						_internalColumn.addImmediateCallback(this, triggerCallbacks, false, true);
				}
			}
			return _internalColumn;
		}
		

		
