class MapRepository {

    public void registerUnique(RepositoryObjectKey key, V value) {
        if (repositoryMap.containsKey(key)) {
            throw new NonUniqueItemRegisteredException(containedClass, key);
        }
        register(key, value);
    }

    public  MapRepository(Class<?> containedClass);
    public  MapRepository(Class<?> containedClass, Map<RepositoryObjectKey, V> repositoryMapInstance);

}