code: @Override
      public RestItem updateNodeWithId(Request request,
                                       String rawRepositoryName,
                                       String rawWorkspaceName,
                                       String id,
                                       String requestContent) throws RepositoryException {
          Session session = getSession(request, rawRepositoryName, rawWorkspaceName);
          Node node = nodeWithId(id, session);
          node = updateNode(node, stringToJSONObject(requestContent));
          session.save();
  
          return createRestItem(request, 0, session, node);
      }
docs: Updates the properties at the path.
  <p>
  If path points to a property, this method expects the request content to be either a JSON array or a JSON string. The array
  or string will become the values or value of the property. If path points to a node, this method expects the request
  content to be a JSON object. The keys of the objects correspond to property names that will be set and the values for the
  keys correspond to the values that will be set on the properties.
  </p>
  
  @param request           the servlet request; may not be null or unauthenticated
  @param rawRepositoryName the URL-encoded repository name
  @param rawWorkspaceName  the URL-encoded workspace name
  @param id                the node identifier
  @param requestContent    the JSON-encoded representation of the values and, possibly, properties to be set
  @return the JSON-encoded representation of the node on which the property or properties were set.
  @throws javax.jcr.RepositoryException if any error occurs at the repository level.