class CompositeParameterNameDiscoverer implements ParameterNameDiscoverer {

    private Collection<ParameterNameDiscoverer> parameterNameDiscoverers;

    public CompositeParameterNameDiscoverer(ParameterNameDiscoverer... parameterNameDiscoverers) {
        this(Arrays.asList(parameterNameDiscoverers));
    }

    public CompositeParameterNameDiscoverer(Collection<ParameterNameDiscoverer> parameterNameDiscoverers) {
        this.parameterNameDiscoverers = parameterNameDiscoverers;
    }

    @Override
    public String[] getParameterNames(Method method) {<FILL_FUNCTION_BODY>}

    @Override
    public String[] getParameterNames(Constructor<?> ctor) {

        for (ParameterNameDiscoverer parameterNameDiscoverer : parameterNameDiscoverers) {
            String[] parameterNames = parameterNameDiscoverer.getParameterNames(ctor);
            if (parameterNames != null) {
                return parameterNames;
            }
        }

        return null;
    }

}


        for (ParameterNameDiscoverer parameterNameDiscoverer : parameterNameDiscoverers) {
            String[] parameterNames = parameterNameDiscoverer.getParameterNames(method);
            if (parameterNames != null) {
                return parameterNames;
            }
        }

        return null;
    
<no_super_class>