@PublicAPI(usage = ACCESS)
    public JavaCodeUnit getCodeUnitWithParameterTypes(String name, Class<?>... parameters) {
        return getCodeUnitWithParameterTypes(name, ImmutableList.copyOf(parameters));
    }
@Test
    public void getCodeUnitWithParameterTypes() {
        JavaClass clazz = importClasses(ChildWithFieldAndMethod.class).get(ChildWithFieldAndMethod.class);

        assertIllegalArgumentException("childMethod", () -> clazz.getCodeUnitWithParameterTypes("childMethod"));
        assertIllegalArgumentException("childMethod", () -> clazz.getCodeUnitWithParameterTypes("childMethod", Object.class));
        assertIllegalArgumentException("wrong", () -> clazz.getCodeUnitWithParameterTypes("wrong", String.class));

        assertThatCodeUnit(clazz.getCodeUnitWithParameterTypes("childMethod", String.class))
                .matchesMethod(ChildWithFieldAndMethod.class, "childMethod", String.class);
        assertThatCodeUnit(clazz.getCodeUnitWithParameterTypeNames("childMethod", String.class.getName()))
                .matchesMethod(ChildWithFieldAndMethod.class, "childMethod", String.class);
        assertThatCodeUnit(clazz.getCodeUnitWithParameterTypes(CONSTRUCTOR_NAME, Object.class))
                .matchesConstructor(ChildWithFieldAndMethod.class, Object.class);
        assertThatCodeUnit(clazz.getCodeUnitWithParameterTypeNames(CONSTRUCTOR_NAME, Object.class.getName()))
                .matchesConstructor(ChildWithFieldAndMethod.class, Object.class);
    }