code: protected I_CmsPermissionHandler.CmsPermissionCheckResult hasPermissions(
          CmsDbContext dbc,
          CmsResource resource,
          CmsPermissionSet requiredPermissions,
          boolean checkLock,
          CmsResourceFilter filter)
      throws CmsException {
  
          return m_permissionHandler.hasPermissions(dbc, resource, requiredPermissions, checkLock, filter);
      }
docs: Performs a non-blocking permission check on a resource.<p>
  
  This test will not throw an exception in case the required permissions are not
  available for the requested operation. Instead, it will return one of the
  following values:<ul>
  <li><code>{@link I_CmsPermissionHandler#PERM_ALLOWED}</code></li>
  <li><code>{@link I_CmsPermissionHandler#PERM_FILTERED}</code></li>
  <li><code>{@link I_CmsPermissionHandler#PERM_DENIED}</code></li></ul><p>
  
  @param dbc the current database context
  @param resource the resource on which permissions are required
  @param requiredPermissions the set of permissions required for the operation
  @param checkLock if true, a lock for the current user is required for
  all write operations, if false it's ok to write as long as the resource
  is not locked by another user
  @param filter the resource filter to use
  
  @return <code>{@link I_CmsPermissionHandler#PERM_ALLOWED}</code> if the user has sufficient permissions on the resource
  for the requested operation
  
  @throws CmsException in case of i/o errors (NOT because of insufficient permissions)