code: private static boolean overflowInParse(long current, int digit, int radix)
      {
          if (current >= 0)
          {
              if (current < maxValueDivs[radix])
              {
                  return false;
              }
              if (current > maxValueDivs[radix])
              {
                  return true;
              }
              // current == maxValueDivs[radix]
              return (digit > maxValueMods[radix]);
          }
  
          // current < 0: high bit is set
          return true;
      }
docs: Returns true if (current * radix) + digit is a number too large to be represented by an unsigned long. This is
  useful for detecting overflow while parsing a string representation of a number. Does not verify whether supplied
  radix is valid, passing an invalid radix will give undefined results or an ArrayIndexOutOfBoundsException.