code: public Resolution resolve(AlluxioURI uri) throws InvalidPathException {
      try (LockResource r = new LockResource(mReadLock)) {
        String path = uri.getPath();
        LOG.debug("Resolving {}", path);
        // This will re-acquire the read lock, but that is allowed.
        String mountPoint = getMountPoint(uri);
        if (mountPoint != null) {
          MountInfo info = mState.getMountTable().get(mountPoint);
          AlluxioURI ufsUri = info.getUfsUri();
          UfsManager.UfsClient ufsClient;
          AlluxioURI resolvedUri;
          try {
            ufsClient = mUfsManager.get(info.getMountId());
            try (CloseableResource<UnderFileSystem> ufsResource = ufsClient.acquireUfsResource()) {
              UnderFileSystem ufs = ufsResource.get();
              resolvedUri = ufs.resolveUri(ufsUri, path.substring(mountPoint.length()));
            }
          } catch (NotFoundException | UnavailableException e) {
            throw new RuntimeException(
                String.format("No UFS information for %s for mount Id %d, we should never reach here",
                    uri, info.getMountId()), e);
          }
          return new Resolution(resolvedUri, ufsClient, info.getOptions().getShared(),
              info.getMountId());
        }
        // TODO(binfan): throw exception as we should never reach here
        return new Resolution(uri, null, false, IdUtils.INVALID_MOUNT_ID);
      }
    }
docs: Resolves the given Alluxio path. If the given Alluxio path is nested under a mount point, the
  resolution maps the Alluxio path to the corresponding UFS path. Otherwise, the resolution is a
  no-op.
  
  @param uri an Alluxio path URI
  @return the {@link Resolution} representing the UFS path
  @throws InvalidPathException if an invalid path is encountered