public static <T> Constructor<T> getConstructorIfAvailable(Class<T> clazz, Class<?>... paramTypes) {
        Preconditions.checkNotNull(clazz, "Class must not be null");
        try {
            return clazz.getConstructor(paramTypes);
        } catch (NoSuchMethodException ex) {
            return null;
        }
    }
public static <T> Constructor<T> getConstructorIfAvailable(Class<T> clazz, Class<?>... paramTypes) {
        Preconditions.checkNotNull(clazz, "Class must not be null");
        try {
            return clazz.getConstructor(paramTypes);
        } catch (NoSuchMethodException ex) {
            return null;
        }
    }
public static < T > Constructor < T > getConstructorIfAvailable ( Class < T > clazz , Class < ? > ... paramTypes ) { Preconditions . checkNotNull ( clazz , "Class must not be null" ) ; try { return clazz . getConstructor ( paramTypes ) ; } catch ( NoSuchMethodException ex ) { return null ; } }
Determine whether the given class has a public constructor with the given signature,
and return it if available (else return {@code null}).
<p>Essentially translates {@code NoSuchMethodException} to {@code null}.

@param clazz      the clazz to analyze
@param paramTypes the parameter types of the method
@return the constructor, or {@code null} if not found
@see Class#getConstructor
Determine whether the given class has a public constructor with the given signature and return it if available ( else return { @code null } ) . <p > Essentially translates { @code NoSuchMethodException } to { @code null } .