else if (b == 1) {
if (b == 1)
  private static final int[] euclidInv(int a, int b, int prevDiv)  {    // Storage for return values, plus one slot for a temp int (see below).    int[] xy;    if (b == 0)      throw new ArithmeticException("not invertible");    else if (b == 1)      {	// Success:  values are indeed invertible!	// Bottom of the recursion reached; start unwinding.        xy = new int[3];	xy[0] = -prevDiv;	xy[1] = 1;	return xy;      }    xy = euclidInv(b, a % b, a / b);	// Recursion happens here.    // xy[2] is just temp storage for intermediate results in the following    // calculation.  This saves us a bit of space over having an int    // allocated at every level of this recursive method.    xy[2] = xy[0];    xy[0] = xy[2] * -prevDiv + xy[1];    xy[1] = xy[2];    return xy;  }