/** Answer a Model that is the intersection of the two argument models. The first argument is the model iterated over, and the second argument is the one used to check for membership. [So the first one should be "small" and the second one "membership cheap".] */ public static Model intersect( Model smaller, Model larger ) { Model result = createWorkModel(); StmtIterator it = smaller.listStatements(); try { return addCommon( result, it, larger ); } finally { it.close(); } }