question: private void generateFallbackKeys ( String key , ArrayList < String > fallbackKeys ) { int p1 = key . indexOf ( "[$" ) ; if ( p1 == - 1 ) { fallbackKeys . add ( key ) ; } else { int p2 = key . indexOf ( ']' , p1 + 2 ) ; if ( p2 == - 1 ) { return ; } String modifierKey = key . substring ( p1 + 2 , p2 ) ; String [ ] modifierValues = propertyNameModifiers . get ( modifierKey ) ; if ( modifierValues == null ) { modifierValues = new String [ ] { "default" } ; } for ( String mv : modifierValues ) { generateFallbackKeys ( key . substring ( 0 , p1 ) + mv + key . substring ( p2 + 1 ) , fallbackKeys ) ; } } }
target:  Generates fallback keys by processing all property name modifiers in the key.