return BigInteger.make(x.ival & y);
return valueOf(x.ival & y);
  private static BigInteger and(BigInteger x, int y)  {    if (x.words == null)      return BigInteger.make(x.ival & y);    if (y >= 0)      return BigInteger.make(x.words[0] & y);    int len = x.ival;    int[] words = new int[len];    words[0] = x.words[0] & y;    while (--len > 0)      words[len] = x.words[len];    return BigInteger.make(words, x.ival);  }