docs: public static <K, V, T extends Map<K, V>> void marshallMap(T map, ElementWriter<K> keyWriter, ElementWriter<V> valueWrite, ObjectOutput out) throws IOException {
        final int mapSize = map == null ? NULL_VALUE : map.size();
        marshallSize(out, mapSize);
        if (mapSize <= 0) return;
  
        for (Map.Entry<K, V> me : map.entrySet()) {
           keyWriter.writeTo(out, me.getKey());
           valueWrite.writeTo(out, me.getValue());
        }
     }