private void scheduleCleanerJobIfNecessary(IPreferencePageContainer preferencePageContainer){
  Map<String,ValueDifference<String>> changes=getPreferenceChanges();
  for (  String key : changes.keySet()) {
    if (key.matches("^" + CompilerProperties.OUTPUT_PREFERENCE_TAG + "\\.\\w+\\."+ CompilerProperties.OUTPUT_PREFERENCE_TAG+ "$")) {
      ValueDifference<String> difference=changes.get(key);
      scheduleCleanerJob(preferencePageContainer,difference.rightValue());
    }
  }
}

private void scheduleCleanerJobIfNecessary ( IPreferencePageContainer preferencePageContainer ) { Map < String , ValueDifference < String > > changes = getPreferenceChanges ( ) ; for ( String key : changes . keySet ( ) ) { if ( key . matches ( "^" + CompilerProperties . OUTPUT_PREFERENCE_TAG + "\\.\\w+\\." + CompilerProperties . OUTPUT_PREFERENCE_TAG + "$" ) ) { ValueDifference < String > difference = changes . get ( key ) ; scheduleCleanerJob ( preferencePageContainer , difference . rightValue ( ) ) ; } } }
this method has been copied from org . eclipse . xtext . builder . preferences . builderpreferencepage .
