docs: public Optional<Object> objectEvaluate( WalkedPath walkedPath ) {
          // Grap the data we need from however far up the tree we are supposed to go
          PathStep pathStep = walkedPath.elementFromEnd( upLevel );
  
          if ( pathStep == null ) {
              return Optional.empty();
          }
  
          Object treeRef = pathStep.getTreeRef();
  
          // Now walk down from that level using the subPathReader
          if ( subPathReader == null ) {
              return Optional.of( treeRef );
          }
          else {
              return subPathReader.read( treeRef, walkedPath );
          }
      }