public Object create(Class[] argumentTypes, Object[] arguments) {
    classOnly = false;
    if (argumentTypes == null || arguments == null || argumentTypes.length != arguments.length) {
      throw new IllegalArgumentException("Arguments must be non-null and of equal length");
    }
    synchronized (this) {
      this.argumentTypes = argumentTypes;
      this.arguments = arguments;
      try {
        return createHelper();
      }
      finally {
        this.arguments = null;
      }
    }
  }
public Object create(Class[] argumentTypes, Object[] arguments)