I think that if the solution was any simpler it would have bit me. Change ClosableIterator<T> to extend AutoCloseable as well as Iterator. mark ClosableIterator.close() with an @Override annotation and done.
While Autoclosable throws an exception the ClosableIterator does not so the try with resources works. I tried this and then changed FinderUtils.contains() to be coded as @Override public boolean contains(TriplePattern pattern) { try (ClosableIterator<Triple> it = find(pattern)) { return it.hasNext(); } } and the IDE (Eclipse) does not complain. So I think it will just work.