code: private void writeObject(final ObjectOutputStream s) throws java.io.IOException {
      // Write out the Comparator and any hidden stuff
      s.defaultWriteObject();
  
      // Write out size (number of Mappings)
      s.writeInt(size());
  
      // Write out keys and values (alternating)
      for (Iterator<Map.Entry<K, V>> i = entrySet().iterator(); i.hasNext();) {
        Entry<K, V> e = i.next();
        s.writeObject(e.getKey());
        s.writeObject(e.getValue());
      }
    }
docs: Save the state of the <tt>OMVRBTree</tt> instance to a stream (i.e., serialize it).
  
  @serialData The <i>size</i> of the OMVRBTree (the number of key-value mappings) is emitted (int), followed by the key (Object)
  and value (Object) for each key-value mapping represented by the OMVRBTree. The key-value mappings are emitted in
  key-order (as determined by the OMVRBTree's Comparator, or by the keys' natural ordering if the OMVRBTree has no
  Comparator).