static final HashMap<Resource, HashMap<Integer, Permission>> buildRegistry(
        final Collection<? extends Permission> permissions) {
      final HashMap<Resource, HashMap<Integer, Permission>> registry = new HashMap<>();

      for (final Permission permission : permissions) {
        HashMap<Integer, Permission> map = registry.get(permission.resource());
        if (map == null) {
          registry.put(permission.resource(), map = new HashMap<>());
        }
        map.put(permission.factor(), permission);
      }

      return registry;
    }