public Tile this[string key] { get { if (key.Contains(UriUtilities.URI_SEPARATOR)) { var parts = key.Split(UriUtilities.URI_SEPARATOR); return TileGroups[parts[0]][parts[1]]; } else { return GlobalTileGroup[key]; } } }