public override IEnumerable<XElement> Apply(Transaction transaction, bool forceIntegrity)
        {
            if(!forceIntegrity)
            {
                throw new NotImplementedException("Safe stored procedure removal is not implemented yet");
            }

            StoredProcedureBody body = transaction.GetStoredProcedureBody(this.procedure);
            transaction.RemoveStoredProcedure(this.procedure);
            return new[]
                   {
                   	new XElement("declarations", body.declarations),
                   	new XElement("body", body.body),
                   };
        }
        public override IEnumerable<XElement> Apply(Transaction transaction, bool forceIntegrity)
        {
            if(!forceIntegrity)
            {
                throw new NotImplementedException("Safe stored procedure change is not implemented yet");
            }

            StoredProcedureBody oldBody = transaction.GetStoredProcedureBody(this.procedure);
            /*Console.WriteLine();
            Console.WriteLine("===OLD DECLARATIONS===");
            Console.WriteLine(oldBody.declarations);
            Console.WriteLine("===OLD BODY===");
            Console.WriteLine(oldBody.body);
            Console.WriteLine("===END===");*/
            transaction.ReplaceStoredProcedureBody(this.procedure, this.body);
            return new[]
                   {
                   	new XElement("oldDeclarations", oldBody.declarations),
                   	new XElement("oldBody", oldBody.body),
                   };
        }