code: public void unlockResource(CmsDbContext dbc, CmsResource resource, boolean force, boolean removeSystemLock)
      throws CmsException {
  
          // update the resource cache
          m_monitor.clearResourceCache();
  
          // now update lock status
          m_lockManager.removeResource(dbc, resource, force, removeSystemLock);
  
          // we must also clear the permission cache
          m_monitor.flushCache(CmsMemoryMonitor.CacheType.PERMISSION);
  
          // fire resource modification event
          Map<String, Object> data = new HashMap<String, Object>(2);
          data.put(I_CmsEventListener.KEY_RESOURCE, resource);
          data.put(I_CmsEventListener.KEY_CHANGE, new Integer(NOTHING_CHANGED));
          OpenCms.fireCmsEvent(new CmsEvent(I_CmsEventListener.EVENT_RESOURCE_MODIFIED, data));
      }
docs: Unlocks a resource.<p>
  
  @param dbc the current database context
  @param resource the resource to unlock
  @param force <code>true</code>, if a resource is forced to get unlocked, no matter by which user and in which project the resource is currently locked
  @param removeSystemLock <code>true</code>, if you also want to remove system locks
  
  @throws CmsException if something goes wrong
  
  @see CmsObject#unlockResource(String)
  @see I_CmsResourceType#unlockResource(CmsObject, CmsSecurityManager, CmsResource)