code: public final Invokable<T, T> constructor(Constructor<?> constructor) {
      checkArgument(
          constructor.getDeclaringClass() == getRawType(),
          "%s not declared by %s",
          constructor,
          getRawType());
      return new Invokable.ConstructorInvokable<T>(constructor) {
        @Override
        Type getGenericReturnType() {
          return getCovariantTypeResolver().resolveType(super.getGenericReturnType());
        }
  
        @Override
        Type[] getGenericParameterTypes() {
          return getInvariantTypeResolver().resolveTypesInPlace(super.getGenericParameterTypes());
        }
  
        @Override
        Type[] getGenericExceptionTypes() {
          return getCovariantTypeResolver().resolveTypesInPlace(super.getGenericExceptionTypes());
        }
  
        @Override
        public TypeToken<T> getOwnerType() {
          return TypeToken.this;
        }
  
        @Override
        public String toString() {
          return getOwnerType() + "(" + Joiner.on(", ").join(getGenericParameterTypes()) + ")";
        }
      };
    }
docs: Returns the {@link Invokable} for {@code constructor}, which must be a member of {@code T}.
  
  @since 14.0