public int GetHashCode(object obj)
 {
     if (obj == null)
     {
         return(0);
     }
     byte[] bytes = obj as byte[];
     if (bytes != null)
     {
         return(ByValueEqualityComparer.ComputeBinaryHashCode(bytes));
     }
     return(obj.GetHashCode());
 }
 public bool Equals(object x, object y)
 {
     if (object.Equals(x, y))
     {
         return(true);
     }
     byte[] first  = x as byte[];
     byte[] second = y as byte[];
     if (first != null && second != null)
     {
         return(ByValueEqualityComparer.CompareBinaryValues(first, second));
     }
     return(false);
 }