 		{
 			if (!dataProvider)
 				throw new Error("The argument 'dataProvider' cannot be null.");
+
+			var dataProviderIndex : int = _providers.indexOf(dataProvider);
+			
+			if (dataProviderIndex == -1)
+				throw new ArgumentError("No such dataProvider was added.");
 			
 			var bindingTable	: Object	= _bindings[dataProvider];
 			

				addProperty(propertyName, dataProvider, key);
			}
			
			return this;
		}
		

				throw new Error('The property \'' + propertyName + '\' has no data provider.');
			
			return provider;
		}
		
		public function getDataProviderAt(index : uint) : IDataProvider
		{
			if (index >= _providers.length)
				throw new ArgumentError('Index out of bounds');
			
			return _providers[index];
		}
		
		public function getProperty(propertyName : String) : Object
