Зачем вы используете Long.MAX_VALUE для проверки переполнения инта?