} else { BinaryIdContentPair newPair = generateIdContentPair(object, bco); contentTable.put(object, newPair); object.write(this); newPair.getContent().finalize(); return newPair.getId();
    public int processBinarySavable(Savable object) throws IOException {        if (object == null) {            return -1;        }        BinaryClassObject bco = classes.get(object.getClassTag().getName());        // is this class been looked at before? in tagTable?        if (bco == null) {            bco = new BinaryClassObject();            bco.alias = generateTag();            bco.nameFields = new HashMap<String, BinaryClassField>();            classes.put(object.getClassTag().getName(), bco);        }        // is object in contentTable?        if (contentTable.get(object) != null) {            return (contentTable.get(object).getId());        } else {// no, generate id and build id/content pair from it's conent            BinaryIdContentPair newPair = generateIdContentPair(object, bco);            contentTable.put(object, newPair);            object.write(this);            newPair.getContent().finalize();            return newPair.getId();        }    }