private boolean _contains( PermissionChecker permissionChecker, T model, String actionId) throws PortalException { actionId = _modelResourcePermissionDefinition.mapActionId(actionId); for (ModelResourcePermissionLogic<T> modelResourcePermissionLogic : _modelResourcePermissionLogics) { Boolean contains = modelResourcePermissionLogic.contains( permissionChecker, _modelName, model, actionId); if (contains != null) { return contains; } } String primKey = String.valueOf( _modelResourcePermissionDefinition.getPrimaryKey(model)); if (permissionChecker.hasOwnerPermission( model.getCompanyId(), _modelName, primKey, model.getUserId(), actionId)) { return true; } return permissionChecker.hasPermission( model.getGroupId(), _modelName, primKey, actionId); }