### Question:
TransitiveClosure { public static TransitiveClosure getDownstreamVertices(Vertex<?, ?> aVertex, boolean includeNonProbabilistic) { return getDownstreamVerticesForCollection(Collections.singletonList(aVertex), includeNonProbabilistic); } private  TransitiveClosure(Set<Vertex> allVertices); static TransitiveClosure getUpstreamVertices(Vertex<?, ?> aVertex, boolean includeNonProbabilistic); static TransitiveClosure getDownstreamVertices(Vertex<?, ?> aVertex, boolean includeNonProbabilistic); static TransitiveClosure getUpstreamVerticesForCollection(List<Vertex> vertices, boolean includeNonProbabilistic); static TransitiveClosure getDownstreamVerticesForCollection(List<Vertex> vertices, boolean includeNonProbabilistic);  }### Answer:
@Test public void doesGetDownstreamProbabilisticVertices() { TransitiveClosure transitiveClosure = TransitiveClosure.getDownstreamVertices(A, false); assertThat(transitiveClosure.getAllVertices(), containsInAnyOrder(A, C)); }
@Test public void doesGetAllDownstreamVertices() { TransitiveClosure transitiveClosure = TransitiveClosure.getDownstreamVertices(A, true); assertThat(transitiveClosure.getAllVertices(), containsInAnyOrder(A, aPlusB, C)); }