code: public static <T> Constructor<T> getAccessibleConstructor(final Class<T> cls,
              final Class<?>... parameterTypes) {
          Validate.notNull(cls, "class cannot be null");
          try {
              return getAccessibleConstructor(cls.getConstructor(parameterTypes));
          } catch (final NoSuchMethodException e) {
              return null;
          }
      }
docs: <p>Finds a constructor given a class and signature, checking accessibility.</p>
  
  <p>This finds the constructor and ensures that it is accessible.
  The constructor signature must match the parameter types exactly.</p>
  
  @param <T> the constructor type
  @param cls the class to find a constructor for, not {@code null}
  @param parameterTypes the array of parameter types, {@code null} treated as empty
  @return the constructor, {@code null} if no matching accessible constructor found
  @see Class#getConstructor
  @see #getAccessibleConstructor(java.lang.reflect.Constructor)
  @throws NullPointerException if {@code cls} is {@code null}