public Mappings uniqueBonds ( ) { // we need the unique predicate to be reset for each new iterator - // otherwise multiple iterations are always filtered (seen before) final int [ ] [ ] g = GraphUtil . toAdjList ( query ) ; return new Mappings ( query , target , new Iterable < int [ ] > ( ) { @ Override public Iterator < int [ ] > iterator ( ) { return Iterators . filter ( iterable . iterator ( ) , new UniqueBondMatches ( g ) ) ; } } ) ; }
Filter the mappings for those which cover a unique set of bonds in the target .