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

    void addTotalRelationOfWeightZero(final Iterable<String> permissions, final Collection<String> subjectIds) {
        validatePermissions(permissions);
        validateSubjectIds(subjectIds);

        final Map<String, Integer> subjectsWithDefaultWeight = subjectIds.stream()
                .collect(Collectors.toMap(Function.identity(), subject -> 0));
        permissions.forEach(permission -> addPermissionSubjects(permission, subjectsWithDefaultWeight));
    }

      PermissionSubjectsMap();

}