def visit_path(*path, &operator)
      visitor = ReferencePathVisitor.new(self.class, path)
      visitor.visit(self, &operator)
    end
def visit_path(*path, &operator)
      visitor = ReferencePathVisitor.new(self.class, path)
      visitor.visit(self, &operator)
    end
Applies the operator block to this object and each domain object in the reference path.
 This method visits the transitive closure of each recursive path attribute.

 @param [<Symbol>] path the attributes to visit
 @yieldparam [Symbol] attribute the attribute to visit
 @return the visit result
 @see ReferencePathVisitor