r.flattenToBuffer(buf);
buf.flip();
//Check for no change
ByteBuffer oldValue = null;
DeferredSerialization ds = m_currentTopologyValues.get();
if (ds != null) {
oldValue = ByteBuffer.allocate(ds.getSerializedSize());
ds.serialize(oldValue);
}
if (buf.equals(oldValue)) return;
m_currentTopologyValues.set(new DeferredSerialization() {
@Override
public void serialize(ByteBuffer outbuf) throws IOException {
outbuf.put(buf.duplicate());
}
@Override