code: protected function checkPermission($permission)
      {
          $perms = array(
              self::PERMISSION_ALL,
              self::PERMISSION_CHANGE,
              self::PERMISSION_NONE,
              self::PERMISSION_VIEW,
          );
          if (!in_array($permission, $perms)) {
              throw new \InvalidArgumentException(
                  'Invalid permission. Must be one of ' . implode(', ', $perms)
              );
          }
      }
docs: Checks a valid permission.
  
  @param string $permission
  
  @throws \InvalidArgumentException