PhyloTree t = (PhyloTree) loadObject(PhyloTree.class);
RandomList<PhyloTreeNode> nodes = new RandomList<PhyloTreeNode> ();
nodes.addAll(t.getTreeNodesReadOnly());
while (searchResult == null) {
PhyloTreeNode a;
do{ a = nodes.someElement();}
while (a.getTaxonLabel()==null);
PhyloTreeNode b;
do{ b = nodes.someElement();}
while (b.getTaxonLabel()==null);
PhyloTreeNode c;
do{ c = nodes.someElement();}
while (c.getTaxonLabel()==null);
searchResult = false;
if (c.haveABCTopology(a, b)) {
TaxonVariant as = a.getTaxonLabel().getTaxonVariant();
TaxonVariant bs = b.getTaxonLabel().getTaxonVariant();
TaxonVariant cs = c.getTaxonLabel().getTaxonVariant();
logger.debug("Searching for trees with a=" + as + ", b=" + bs + ", c=" + cs);
Collection<PhyloTree> trees =
getFixture().findByTopology3(as, bs, cs);