}
public double nextDouble()
throws IOException
{
JsonToken localJsonToken = peek();
if ((localJsonToken != JsonToken.NUMBER) && (localJsonToken != JsonToken.STRING))
throw new IllegalStateException("Expected " + JsonToken.NUMBER + " but was " + localJsonToken);
double d = ((JsonPrimitive)peekStack()).getAsDouble();
if ((!isLenient()) && ((Double.isNaN(d)) || (Double.isInfinite(d))))
throw new NumberFormatException("JSON forbids NaN and infinities: " + d);