code: protected boolean needsNumberTypePattern(List<Class<?>> pathParamTypeList, Map<Integer, Class<?>> optionalGenericTypeMap,
              int parameterIndex) {
          if (pathParamTypeList.size() <= parameterIndex) {
              return false; // different count of parameters will be checked later so only avoid out-of-index here
          }
          final Class<?> parameterType = pathParamTypeList.get(parameterIndex);
          if (Number.class.isAssignableFrom(parameterType)) {
              return true;
          }
          if (parameterType.isPrimitive() && Stream.of(long.class, int.class, short.class, byte.class, double.class, float.class)
                  .anyMatch(numType -> numType.isAssignableFrom(parameterType))) { // from pull request #55 (thanks!)
              return true;
          }
          final Class<?> genericType = optionalGenericTypeMap.get(parameterIndex);
          return genericType != null && Number.class.isAssignableFrom(genericType);
      }
docs: #hope jflute similer to PathParamArgs's one so want to refactor (2018/10/30)