private void resolveTemporaryProperties ( Map < String , Set < String > > map ) { boolean temporaryPresent = false ; do { temporaryPresent = false ; for ( Map . Entry < String , Set < String > > entry : map . entrySet ( ) ) { Set < String > newProperties = new HashSet < String > ( ) ; Iterator < String > properties = entry . getValue ( ) . iterator ( ) ; while ( properties . hasNext ( ) ) { String property = properties . next ( ) ; if ( isTemporaryProperty ( property ) ) { LOGGER . debug ( "Resolve temporary field {} for property {}" , entry . getKey ( ) , property ) ; temporaryPresent = true ; newProperties . addAll ( map . get ( property ) ) ; properties . remove ( ) ; } } entry . getValue ( ) . addAll ( newProperties ) ; } } while ( temporaryPresent ) ; }
Resolves the temporary properties of the given property map . It replaces the temporary properties in the values of the given map with the values of the temporary property it replaces . This procedure is done until there are no more temporary fields present in the values of the map .