code: public Response unLock(Session session, String path, List<String> tokens)
     {
        try
        {
           try
           {
              Node node = (Node)session.getItem(path);
  
              if (node.isLocked())
              {
                 node.unlock();
                 session.save();
              }
  
              return Response.status(HTTPStatus.NO_CONTENT).build();
           }
           catch (PathNotFoundException exc)
           {
              if (nullResourceLocks.isLocked(session, path))
              {
                 nullResourceLocks.checkLock(session, path, tokens);
                 nullResourceLocks.removeLock(session, path);
                 return Response.status(HTTPStatus.NO_CONTENT).build();
              }
  
              return Response.status(HTTPStatus.NOT_FOUND).entity(exc.getMessage()).build();
           }
  
        }
        catch (LockException exc)
        {
           return Response.status(HTTPStatus.LOCKED).entity(exc.getMessage()).build();
        }
        catch (Exception exc)
        {
           log.error(exc.getMessage(), exc);
           return Response.serverError().entity(exc.getMessage()).build();
        }
  
     }
docs: Webdav Unlock method implementation.
  
  @param session current seesion
  @param path resource path
  @param tokens tokens
  @return the instance of javax.ws.rs.core.Response