code: public static Reflect on(@NonNull Constructor constructor, boolean allowPrivilegedAccess, Object... args) throws ReflectionException {
        boolean accessible = constructor.isAccessible();
        try {
           if (!accessible && allowPrivilegedAccess) {
              constructor.setAccessible(true);
           }
           if (args != null) {
              Class<?>[] parameterTypes = constructor.getParameterTypes();
              for (int i = 0; i < args.length; i++) {
                 args[i] = convertValueType(args[i], parameterTypes[i]);
              }
           }
           Object object = constructor.newInstance(args);
           return new Reflect(object, object.getClass(), allowPrivilegedAccess);
        } catch (InstantiationException | IllegalAccessException | InvocationTargetException e) {
           throw new ReflectionException(e);
        } finally {
           if (!accessible && allowPrivilegedAccess) {
              constructor.setAccessible(false);
           }
        }
     }
docs: Creates an instance Reflect for an object that gets constructed using the supplied constructor and arguments.
  
  @param constructor           The constructor to call
  @param allowPrivilegedAccess Allows access to all methods on the object or class
  @param args                  The arguments to pass to the constructor
  @return A Reflect wrapper around the constructed object
  @throws ReflectionException Something went wrong constructing the object