docs: protected<Q> Q execute(RelationCategory returnType, ResultConstructor<Q> resultConstructor) {
          BaseVertexCentricQuery bq = super.constructQuery(returnType);
          if (bq.isEmpty()) return resultConstructor.emptyResult();
          if (returnType==RelationCategory.PROPERTY && hasSingleType() && !hasQueryOnlyLoaded()
                  && tx.getConfiguration().hasPropertyPrefetching()) {
              //Preload properties
              vertex.query().properties().iterator().hasNext();
          }
  
          if (isPartitionedVertex(vertex) && !hasQueryOnlyGivenVertex()) { //If it's a preloaded vertex we shouldn't preload data explicitly
              List<InternalVertex> vertices = allRequiredRepresentatives(vertex);
              profiler.setAnnotation(QueryProfiler.PARTITIONED_VERTEX_ANNOTATION,true);
              profiler.setAnnotation(QueryProfiler.NUMVERTICES_ANNOTATION,vertices.size());
              if (vertices.size()>1) {
                  for (BackendQueryHolder<SliceQuery> sq : bq.getQueries()) {
                      tx.executeMultiQuery(vertices, sq.getBackendQuery(),sq.getProfiler());
                  }
              }
          } else profiler.setAnnotation(QueryProfiler.NUMVERTICES_ANNOTATION,1);
          return resultConstructor.getResult(vertex,bq);
      }