Source:
<code>public void init( final ManipulationSession session ) throws ManipulationException { logger.debug( "Initialising ManipulationManager with user properties {}", session.getUserProperties() ); final boolean deprecatedDisabled = !Boolean.parseBoolean(session.getUserProperties().getProperty( DEPRECATED_PROPERTIES, "false")); session.getUserProperties().stringPropertyNames().forEach( p -> { if (!p.equals("maven.repo.local") && ConfigList.allConfigValues.keySet().stream().noneMatch(p::startsWith)) { logger.warn("Unknown configuration value {}", p); } if (deprecatedDisabled) { logger.debug ("Examining for deprecated properties in {}", p); ConfigList.allConfigValues.entrySet().stream(). filter( e -> p.startsWith(e.getKey())). filter( Map.Entry::getValue ). forEach(up -> { logger.warn ("Removing key (as deprecated) from user properties (with matcher of {})", p, up.getKey()); session.getUserProperties().remove(p); }); } <START> }); <END> for ( final ExtensionInfrastructure infra : infrastructure.values() ) { infra.init( ); } orderedManipulators = new ArrayList<>( manipulators.values() ); orderedManipulators.sort( Collections.reverseOrder( new ManipulatorPriorityComparator() ) ); for ( final Manipulator manipulator : orderedManipulators ) { logger.debug( "Initialising manipulator " + manipulator.getClass() .getSimpleName() ); manipulator.init( session ); } orderedManipulators.sort( new ManipulatorPriorityComparator() ); session.setState( new CommonState( session.getUserProperties()) ); }</code><technical_language>A suggestion is print (all) warnings fail. this point, user options fix it, enable deprecated options, fix option warning. If access a map equivalent non-deprecated options, suggest option</technical_language>

Target:
public void init( final ManipulationSession session ) throws ManipulationException { logger.debug("Initialising ManipulationManager with user properties {}", session.getUserProperties()); final boolean deprecatedDisabled = !Boolean.parseBoolean(session.getUserProperties().getProperty(DEPRECATED_PROPERTIES, "false")); final HashMap<String, String> deprecatedUsage = new HashMap<>(); session.getUserProperties().stringPropertyNames().forEach( p -> { if (!p.equals("maven.repo.local") && ConfigList.allConfigValues.keySet().stream().noneMatch(p::startsWith)) { logger.warn("Unknown configuration value {}", p); } logger.debug("Examining for deprecated properties for {}", p); ConfigList.allConfigValues.entrySet().stream(). filter(e -> p.startsWith(e.getKey())). filter(Map.Entry::getValue). forEach(up -> deprecatedUsage.put(p, up.getKey())); }); if (deprecatedUsage.size() > 0) { deprecatedUsage.forEach( (k,v) -> logger.warn ("Located deprecated property in user properties (with matcher of {})", k, v) ); if ( deprecatedDisabled ) { throw new ManipulationException("Deprecated properties are being used. Either remove them or set enabledDeprecatedProperties=true"); } } for ( final ExtensionInfrastructure infra : infrastructure.values() ) { infra.init( ); } orderedManipulators = new ArrayList<>( manipulators.values() ); orderedManipulators.sort( Collections.reverseOrder( new ManipulatorPriorityComparator() ) ); for ( final Manipulator manipulator : orderedManipulators ) { logger.debug( "Initialising manipulator " + manipulator.getClass() .getSimpleName() ); manipulator.init( session ); } orderedManipulators.sort( new ManipulatorPriorityComparator() ); session.setState( new CommonState( session.getUserProperties()) ); }