if (sign < val.sign) return -1; if (sign > val.sign) return 1;  return compareTo(0, magnitude, 0, val.magnitude);
return compareTo((BigInteger)o);
    public int compareTo(BigInteger val)    {        if (sign < val.sign)            return -1;        if (sign > val.sign)            return 1;        return compareTo(0, magnitude, 0, val.magnitude);    }