class PropertyContributorExtender implements MavenExecutionRequestExtender {
    private final Lookup lookup;

    @Inject
    PropertyContributorExtender(Lookup lookup) {
        this.lookup = lookup;
    }

    @SuppressWarnings({"rawtypes", "unchecked"})
    @Override
    public void extend(MavenExecutionRequest mavenExecutionRequest) {<FILL_FUNCTION_BODY>}
}

        Map<String, PropertyContributor> effectivePropertyContributors = lookup.lookupMap(PropertyContributor.class);
        if (!effectivePropertyContributors.isEmpty()) {
            HashMap<String, String> userPropertiesMap = new HashMap<>((Map) mavenExecutionRequest.getUserProperties());
            for (PropertyContributor contributor : effectivePropertyContributors.values()) {
                contributor.contribute(userPropertiesMap);
            }
            Properties newProperties = new Properties();
            newProperties.putAll(userPropertiesMap);
            mavenExecutionRequest.setUserProperties(newProperties);
        }
    
<no_super_class>