code: public static Object instantiateWrapperObject(Class<?> type, Object objectToInvokeUpon, String valueToAssign) {
          logger.entering(new Object[] { type, objectToInvokeUpon, valueToAssign });
  
          validateParams(type, objectToInvokeUpon, valueToAssign);
          checkArgument(ClassUtils.isPrimitiveWrapper(type), type.getName() + " is NOT a wrapper data type.");
  
          try {
              Object objectToReturn = type.getConstructor(new Class<?>[] { String.class }).newInstance(valueToAssign);
              logger.exiting(objectToInvokeUpon);
              return objectToReturn;
          } catch (InstantiationException | NoSuchMethodException | SecurityException | IllegalAccessException
                  | IllegalArgumentException | InvocationTargetException e) {
              throw new ReflectionException(e);
          }
      }
docs: This helper method facilitates creation of Wrapper data type object and initialize it with the provided value.
  
  @param type
  The type to instantiate. It has to be only a Wrapper data type [ such as Integer, Float, Boolean
  etc.,]
  @param objectToInvokeUpon
  The object upon which the invocation is to be carried out.
  @param valueToAssign
  The value to initialize with.
  @return An initialized object that represents the Wrapper data type.