* The cap step will greedily iterate the pipeline and then, when its empty, emit the side effect of the previous pipe.
*
* @return the extended Pipeline
*/
public GremlinPipeline<S, ?> cap() {
return this.add(new SideEffectCapPipe((SideEffectPipe) FluentUtility.removePreviousPipes(this, 1).get(0)));
}