docs: static Class<?> getOutputType(Class<?> fieldType) {
        if (!Number.class.isAssignableFrom(fieldType)) {
           throw new IllegalStateException("Aggregation SUM cannot be applied to property of type " + fieldType.getName());
        }
        if (fieldType == Double.class || fieldType == Float.class) {
           return Double.class;
        }
        if (fieldType == Long.class || fieldType == Integer.class || fieldType == Byte.class || fieldType == Short.class) {
           return Long.class;
        }
        return fieldType;
     }