docs: public static Number power(Integer self, Integer exponent) {
          if (exponent >= 0) {
              BigInteger answer = BigInteger.valueOf(self).pow(exponent);
              if (answer.compareTo(BI_INT_MIN) >= 0 && answer.compareTo(BI_INT_MAX) <= 0) {
                  return answer.intValue();
              } else {
                  return answer;
              }
          } else {
              return power(self, (double) exponent);
          }
      }