public static <T> MethodLiteral<T, Constructor<?>> get(Constructor<?> constructor,
      TypeLiteral<T> declaringType) {
    Preconditions.checkArgument(
        constructor.getDeclaringClass().equals(declaringType.getRawType()),
        "declaringType (%s) must be the type literal where constructor was declared (%s)!",
        declaringType, constructor.getDeclaringClass());
    return new ConstructorLiteral<T>(constructor, declaringType);
  }
public static < T > MethodLiteral < T , Constructor < ? > > get ( Constructor < ? > constructor , TypeLiteral < T > declaringType ) { Preconditions . checkArgument ( constructor . getDeclaringClass ( ) . equals ( declaringType . getRawType ( ) ) , "declaringType (%s) must be the type literal where constructor was declared (%s)!" , declaringType , constructor . getDeclaringClass ( ) ) ; return new ConstructorLiteral < T > ( constructor , declaringType ) ; }
Creates a new {@code MethodLiteral} based on the passed constructor and
its declaring type.

@param constructor constructor for which the literal is constructed
@param declaringType type declaring the constructor
@return new method literal