@Override public void visit(ElementService el) { before(el) ; if ( el.getElement() != null ) el.getElement().visit(this) ; proc.visit(el) ; after(el) ; }
@Override public void visit(ElementNamedGraph el) { before(el) ; if ( el.getElement() != null ) el.getElement().visit(this) ; proc.visit(el) ; after(el) ; }
@Override public void visit(ElementDataset el) { before(el) ; if ( el.getElement() != null ) el.getElement().visit(this) ; proc.visit(el) ; after(el) ; }
@Override public void visit(ElementBind el) { before(el) ; proc.visit(el) ; after(el) ; }
@Override public void visit(ElementAssign el) { before(el) ; proc.visit(el) ; after(el) ; }
@Override public void visit(ElementNotExists el) { before(el) ; proc.visit(el) ; after(el) ; }
@Override public void visit(ElementExists el) { before(el) ; proc.visit(el) ; after(el) ; }
@Override public void visit(ElementGroup el) { before(el) ; for (Element e : el.getElements()) e.visit(this) ; proc.visit(el) ; after(el) ; }
@Override public void visit(ElementData el) { before(el) ; proc.visit(el) ; after(el) ; }
@Override public void visit(ElementTriplesBlock el) { before(el) ; proc.visit(el) ; after(el) ; }
@Override public void visit(ElementPathBlock el) { before(el) ; proc.visit(el) ; after(el) ; } }
@Override public void visit(ElementUnion el) { before(el) ; for ( Element e : el.getElements() ) e.visit(this) ; proc.visit(el) ; after(el) ; }
@Override public void visit(ElementMinus el) { before(el) ; if ( el.getMinusElement() != null ) el.getMinusElement().visit(this) ; proc.visit(el) ; after(el) ; }
@Override public void visit(ElementOptional el) { before(el) ; if ( el.getOptionalElement() != null ) el.getOptionalElement().visit(this) ; proc.visit(el) ; after(el) ; }
@Override public void visit(ElementSubQuery el) { before(el) ; // This does not automatically walk into the subquery. proc.visit(el) ; after(el) ; }
@Override public void visit(ElementFilter el) { before(el) ; proc.visit(el) ; after(el) ; }