public FunctionFlow<Context> create() {
return FunctionFlow.<Context>flow()
.add(new InitializeFunction())
.add(
new PredicateFunction<Context, Context>(
new FetchRepositoryFunction(),
new CloneRepositoryFunction(),
new FetchOrCloneRepositoryPredicate()
)
)
.add(new CommitIndexFunction())