code: @PATCH
      public void patchObjects(List<APIPatch<String>> patches)
              throws GuacamoleException {
  
          // Apply each operation specified within the patch
          for (APIPatch<String> patch : patches) {
  
              // Only remove is supported
              if (patch.getOp() != APIPatch.Operation.remove)
                  throw new GuacamoleUnsupportedException("Only the \"remove\" "
                          + "operation is supported.");
  
              // Retrieve and validate path
              String path = patch.getPath();
              if (!path.startsWith("/"))
                  throw new GuacamoleClientException("Patch paths must start with \"/\".");
  
              // Remove specified object
              directory.remove(path.substring(1));
  
          }
  
      }
docs: Applies the given object patches, updating the underlying directory
  accordingly. This operation currently only supports deletion of objects
  through the "remove" patch operation. The path of each patch operation is
  of the form "/ID" where ID is the identifier of the object being
  modified.
  
  @param patches
  The patches to apply for this request.
  
  @throws GuacamoleException
  If an error occurs while deleting the objects.