docs: public static void symmetricIntersection(DBIDs first, DBIDs second, HashSetModifiableDBIDs firstonly, HashSetModifiableDBIDs intersection, HashSetModifiableDBIDs secondonly) {
      if(first.size() > second.size()) {
        symmetricIntersection(second, first, secondonly, intersection, firstonly);
        return;
      }
      assert (firstonly.size() == 0) : "OUTPUT set should be empty!";
      assert (intersection.size() == 0) : "OUTPUT set should be empty!";
      assert (secondonly.size() == 0) : "OUTPUT set should be empty!";
      // Initialize with second
      secondonly.addDBIDs(second);
      for(DBIDIter it = first.iter(); it.valid(); it.advance()) {
        // Try to remove
        (secondonly.remove(it) ? intersection : firstonly).add(it);
      }
    }