The user can also call a constructor with only one array of strings, in which case the regular expression will admit any values and the default values will be set to empty strings.
The user can also call a constructor with only one array of strings, in which case the regular expression will admit any values and the default values will be set to empty strings.
The default constructor is not initializing the maps, but just setting the expandable parameter to true - it's not possible to have the maps uninitialized AND not be able to extend them afterwards.