code: private static void applyNumericRangeBugfixes(ObjectMapper mapper) {
          // Create a custom module
          SimpleModule customModule = new SimpleModule("CustomModule", new Version(1, 0, 0, null, null, null));
          // Register a deserializer for Integer that overrides default buggy version
          customModule.addDeserializer(Integer.class, new IntegerDeserializer());
          customModule.addDeserializer(int.class, new IntegerDeserializer());
          // Register a deserializer for Long that overrides default buggy version
          customModule.addDeserializer(Long.class, new LongDeserializer());
          customModule.addDeserializer(long.class, new LongDeserializer());
          // Register a deserializer for Byte that overrides default buggy version
          customModule.addDeserializer(Byte.class, new ByteDeserializer());
          customModule.addDeserializer(byte.class, new ByteDeserializer());
          // Add the module to the mapper
          mapper.registerModule(customModule);
      }
docs: Fixes problem in Jackson's StdDeserializer. with _parseInteger and _parseLong.
  The provided implementation allowed out-of-range numbers to be shoe-horned into types, ignoring under/overflow.
  E.g. 21474836470 would be deserialized into an Integer as -10.
  E.g. 92233720368547758080 would be deserialized into a Long as 0.