protected Boolean AreEqual(DataId data1, DataId data2) { if ((data1.IsNull() && data2.IsNotNull()) || (data1.IsNotNull() && data2.IsNull())) { return(false); } if (data1.IsNull() && data2.IsNull()) { return(true); } return((data1.Id == data2.Id) && (data1.GetType().Name == data2.GetType().Name)); }