Yes, this won't work, as now we have the following mapping:
1. LicenseMetadata -> List<String> - when we want to specify license URL
2. String -> List<String> - when we don't care about license URL

Map.Key in this case is an alias that we want to use for the group of licenses. It can be String or LicenseMetadata (when we want to have URLs to be specified). 
Value - is a list of licenses names for which we apply Map.Key (Alias)

Do we really need to specify LicenseMetadata in list of licenses?