@Override public void save(OutputStream output, ControlInfo controlInformation, ProgressListener listener) throws IOException { controlInformation.clear(); controlInformation.setInt("numTriples", numValidTriples); controlInformation.setFormat(HDTVocabulary.TRIPLES_TYPE_TRIPLESLIST); controlInformation.setInt("order", order.ordinal()); controlInformation.save(output); DataOutputStream dout = new DataOutputStream(output); int count = 0; for (TripleID triple : arrayOfTriples) { if(triple.isValid()) { dout.writeInt(triple.getSubject()); dout.writeInt(triple.getPredicate()); dout.writeInt(triple.getObject()); ListenerUtil.notifyCond(listener, "Saving TriplesList", count, arrayOfTriples.size()); } count++; } }