Cities: handle boundary made of multi-parts

taking a const reference on Reference is better, as Reference is quite big (at least a std::string)