- byte[] buffer = DataContainers.writeFile(
- new DataContainer("graph", 1, new Variant(TransferableGraph1.BINDING, tg))
- );
- return new ByteArrayInputStream(buffer);
+ Binding binding = TransferableGraph1.BINDING;
+ int hashCode = binding.hashValue(tg);
+ tg.extensions.put(Extensions.CACHED_HASHCODE, new Variant(Bindings.INTEGER, hashCode));
+ try {
+ byte[] buffer = DataContainers.writeFile(
+ new DataContainer("graph", 1, new Variant(TransferableGraph1.BINDING, tg))
+ );
+ return new ByteArrayInputStream(buffer);
+ } finally {
+ tg.extensions.remove(Extensions.CACHED_HASHCODE);
+ }