package com.tinkerpop.blueprints.strategy;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Function;

/**
 * @author Stephen Mallette (http://stephen.genoprime.com)
 */
public class SequenceGraphStrategy implements GraphStrategy {
    private final List<GraphStrategy> graphStrategySequence;

    public SequenceGraphStrategy(final GraphStrategy... strategies) {
        this.graphStrategySequence = new ArrayList<>(Arrays.asList(strategies));
    }

    @Override
    public Function<Object[],Object[]> getPreAddVertex() {
        return this.graphStrategySequence.stream().map(s -> s.getPreAddVertex()).reduce(null,
                (acc, next) -> acc == null ? next : acc.andThen(next));
    }
}
@@ -37,16 +37,57 @@
 ategy;%0A%0A
+import com.tinkerpop.blueprints.Vertex;%0A%0A
 import j
@@ -784,10 +784,254 @@
 );%0A    %7D
+%0A%0A    @Override%0A    public Function%3CVertex,Vertex%3E getPostAddVertex() %7B%0A        return this.graphStrategySequence.stream().map(s -%3E s.getPostAddVertex()).reduce(null,%0A                (acc, next) -%3E acc == null ? next : acc.andThen(next));%0A    %7D
 %0A%7D

Add getPostAddVertex implementation to SequenceGraphStrategy.