class PermissionSubjectsMap extends AbstractMap<String, Map<String, Integer>> {

    PermissionSubjectsMap copy() {
        final PermissionSubjectsMap copy = new PermissionSubjectsMap();
        forEach((permission, subjectMap) -> copy.put(permission, new HashMap<>(subjectMap)));
        return copy;
    }

      PermissionSubjectsMap();

}