protected virtual void BeforeInsert(T binding)
        {
            T existingBinding = this[binding.Name];

            if (existingBinding != null)
            {
                throw ExceptionBuilder.BindingWithSameNameAlreadyInCollection("binding", binding);
            }
        }