@Nullable
  public static <T> Constructor<T> getDeclaredConstructorBySignature(Class<T> clazz, Class<?>... parameterTypes) {
    try {
      return clazz.getDeclaredConstructor(parameterTypes);
    } catch (NoSuchMethodException e) {
      return null;
    }
  }
Finds a public method with the given name declared in the given
class/interface or one of its super classes/interfaces. If multiple such
methods exists, it is undefined which one is returned.
spock-core/src/main/java/org/spockframework/util/ReflectionUtil.java