code: public static CompletableFuture<Resource> findResource(final RDFConnection rdfConnection, final IRI identifier) {
          return supplyAsync(() -> {
              final TriplestoreResource res = new TriplestoreResource(rdfConnection, identifier);
              res.fetchData();
              if (!res.exists()) {
                  return MISSING_RESOURCE;
              } else if (res.isDeleted()) {
                  return DELETED_RESOURCE;
              }
              return res;
          });
      }
docs: Try to load a Trellis resource.
  
  @implSpec This method will load a {@link Resource}, initializing the object with all resource metadata
  used with {@link #getModified}, {@link #getInteractionModel} and other data fetched by the accessors.
  The resource content is fetched on demand via the {@link #stream} method.
  @param rdfConnection the triplestore connector
  @param identifier the identifier
  @return a new completion stage with a {@link Resource}, if one exists