code: @SuppressFBWarnings(value = "DP_DO_INSIDE_DO_PRIVILEGED", justification = "EV is run only from within unit tests")
      public <T> T instantiate(Class<?>[] paramTypes, Object[] paramValues) {
          try {
              Class<T> type = resolve();
              if (type == null) {
                  return null;
              }
              Constructor<T> c = type.getConstructor(paramTypes);
              c.setAccessible(true);
              return c.newInstance(paramValues);
          }
          catch (Exception e) {
              return handleException(e);
          }
      }
docs: Attempts to instantiate the type.
  
  @param <T>
  The type to instantiate.
  @param paramTypes
  The types of the constructor parameters of the constructor
  that we want to call.
  @param paramValues
  The values that we want to pass into the constructor.
  @return An instance of the type given in the constructor with the given
  parameter values, or null if the type does not exist.
  @throws ReflectionException If instantiation fails.