Return the maximum positive and minimum negative product
if ( lowest < 0 && highest >= 0 ) { return ( new ArrayList < Integer > ( Arrays . asList ( Math . max ( highPos , lowNeg ) , Math . min ( highNeg , lowPos ) ) ) ) ; } else if ( lowest <= 0 && highest <= 0 ) { return ( new ArrayList < Integer > ( Arrays . asList ( lowNeg , lowPos ) ) ) ; } else if ( lowest >= 0 && highest >= 0 ) { return ( new ArrayList < Integer > ( Arrays . asList ( Math . max ( lowPos , highPos ) , Math . min ( lowNeg , highNeg ) ) ) ) ; } return ( new ArrayList < Integer > ( Arrays . asList ( 0 , 0 ) ) ) ; }