functional style is to try not to use mutable datastructures

val modifiedSubParsesByCountry = (for {
  (cc, parses) <- subParsesByCountry
  dc <- CountryUtils.getDependentCountryCodesForCountry(cc)
  if (featuresByCountry.contains(dc) && !subParsesByCountry.contains(dc))
} yield {
  (dc -> parses)
}).toMap ++ subParsesByCountry