private Long parseUsingBigInteger(String string, INode node) {
// error could be overflow, parse again with BigInteger.
try {
BigInteger value = new BigInteger(string, 10);
long longValue = value.longValue();
return longValue != -1 ? longValue : 1L;
} catch (NumberFormatException e) {
throw parsingError(string, node, e);
}
}