code: @Override
      public RestItem nodeWithId(Request request,
                                 String repositoryName,
                                 String workspaceName,
                                 String id,
                                 int depth) throws RepositoryException {
          Session session = getSession(request, repositoryName, workspaceName);
          Node node = nodeWithId(id, session);
          return createRestItem(request, depth, session, node);
      }
docs: Retrieves the JCR {@link javax.jcr.Item} at the given path, returning its rest representation.
  
  @param request        the servlet request; may not be null or unauthenticated
  @param repositoryName the URL-encoded repository name
  @param workspaceName  the URL-encoded workspace name
  @param id             the node identifier
  @param depth          the depth of the node graph that should be returned if {@code path} refers to a node. @{code 0} means return
  the requested node only. A negative value indicates that the full subgraph under the node should be returned. This
  parameter defaults to {@code 0} and is ignored if {@code path} refers to a property.
  @return a the rest representation of the item, as a {@link RestItem} instance.
  @throws javax.jcr.RepositoryException if any JCR operations fail.