public static int Compare(ComparableBytes Left, ComparableBytes Right)
        {
            if (ReferenceEquals(Right, null) && ReferenceEquals(Left, null))
            {
                return(0);
            }
            else if (ReferenceEquals(Right, null))
            {
                return(-1);
            }
            else if (ReferenceEquals(Left, null))
            {
                return(1);
            }

            return(Compare(Left.Bytes, Right.Bytes));
        }
 public static int Compare(ComparableBytes Left, byte[] Right)
 {
     return(Compare(Left.Bytes, Right));
 }
 public static int Compare(byte[] Left, ComparableBytes Right)
 {
     return(Compare(Left, Right.Bytes));
 }
 public int CompareTo(ComparableBytes HashObject)
 {
     return(Compare(this.Bytes, HashObject.Bytes));
 }