class ReflectionUtils {

    @Api(2.0)
    @NonNull
    public static <T, D> Constructor<T> getConstructor(@NonNull Class<T> constructedClass, @NonNull Class<D> innerConstructorClass) {
        try {
            return constructedClass.getConstructor(innerConstructorClass);
        } catch (NoSuchMethodException e) {
            throw new HaloReflectionException("The constructor for " + constructedClass.getCanonicalName() + " and first parameter of class " + innerConstructorClass.getCanonicalName() + " does not exist.", e);
        }
    }

    private  ReflectionUtils();

}