question: public static Number power ( Number self , Number exponent ) { double base , exp , answer ; base = self . doubleValue ( ) ; exp = exponent . doubleValue ( ) ; answer = Math . pow ( base , exp ) ; if ( ( double ) ( ( int ) answer ) == answer ) { return ( int ) answer ; } else if ( ( double ) ( ( long ) answer ) == answer ) { return ( long ) answer ; } else { return answer ; } }
target:  Power of a Number to a certain exponent. Called by the '**' operator.