Shoudn't it be a CaseInsensitiveMap?
If not, it will allow creating an instance that will not be case insensitive while doing only read operations when a normal map is passed