v2.connectNewDataSetAsInput(v1, DistributionPattern.BIPARTITE);
v4.connectNewDataSetAsInput(v2, DistributionPattern.BIPARTITE);
v4.connectNewDataSetAsInput(v3, DistributionPattern.BIPARTITE);
v5.connectNewDataSetAsInput(v4, DistributionPattern.BIPARTITE);
v5.connectNewDataSetAsInput(v3, DistributionPattern.BIPARTITE);
v3.setInputSplitSource(source1);
v5.setInputSplitSource(source2);
List<AbstractJobVertex> ordered = new ArrayList<AbstractJobVertex>(Arrays.asList(v1, v2, v3, v4, v5));