if (magnitude == null || signum > 1 || signum < -1) throw new NumberFormatException();  if (signum == 0) { int i; for (i = magnitude.length - 1; i >= 0 && magnitude[i] == 0; --i) ; if (i >= 0) throw new NumberFormatException(); return; }   words = byteArrayToIntArray(magnitude, 0); BigInteger result = make(words, words.length); this.ival = result.ival; this.words = result.words;  if (signum < 0) setNegative();
  public BigInteger(int signum, byte[] magnitude)  {    if (magnitude == null || signum > 1 || signum < -1)      throw new NumberFormatException();    if (signum == 0)      {	int i;	for (i = magnitude.length - 1; i >= 0 && magnitude[i] == 0; --i)	  ;	if (i >= 0)	  throw new NumberFormatException();        return;      }    // Magnitude is always positive, so don't ever pass a sign of -1.    words = byteArrayToIntArray(magnitude, 0);    BigInteger result = make(words, words.length);    this.ival = result.ival;    this.words = result.words;    if (signum < 0)      setNegative();  }