public IResource this[object key] { get { return map[key] as IResource; } set { map[key] = value; } }