public void WasDeleted(int surr3)
 {
     if (source.Contains3(surr3))
     {
         throw ForeignKeyViolation(surr3);
     }
 }
        public void Check()
        {
            int count = source.insertCount;

            if (count > 0)
            {
                int[] inserts = source.insertList;
                for (int i = 0; i < count; i++)
                {
                    if (!target.Contains3(inserts[i]))
                    {
                        throw ForeignKeyViolation(inserts[i]);
                    }
                }
            }

            target.CheckDeletes(this);
        }