core/src/main/java/org/sakaiproject/nakamura/lite/storage/spi/types/Types.java
public static void writeMapToStream(Map<String, Object> m,
            DataOutputStream dos) throws IOException {
        int size = 0;
        for (Entry<String, ?> e : m.entrySet()) {
            Object o = e.getValue();
            if (o != null && !(o instanceof RemoveProperty)) {
                size++;
            }
        }

        dos.writeInt(size);
        LOGGER.debug("Write {} items", size);
        for (Entry<String, ?> e : m.entrySet()) {
            Object o = e.getValue();
            if (o != null && !(o instanceof RemoveProperty)) {
                String k = e.getKey();
                LOGGER.debug("Write {} ", k);
                dos.writeUTF(k);
                Type<?> t = getTypeOfObject(o);
                dos.writeInt(t.getTypeId());
                t.save(dos, o);
            }
        }
        LOGGER.debug("Finished Writen {} items", size);

    }
public static void writeMapToStream(Map<String, Object> m,
            DataOutputStream dos) throws IOException {
        int size = 0;
        for (Entry<String, ?> e : m.entrySet()) {
            Object o = e.getValue();
            if (o != null && !(o instanceof RemoveProperty)) {
                size++;
            }
        }

        dos.writeInt(size);
        LOGGER.debug("Write {} items", size);
        for (Entry<String, ?> e : m.entrySet()) {
            Object o = e.getValue();
            if (o != null && !(o instanceof RemoveProperty)) {
                String k = e.getKey();
                LOGGER.debug("Write {} ", k);
                dos.writeUTF(k);
                Type<?> t = getTypeOfObject(o);
                dos.writeInt(t.getTypeId());
                t.save(dos, o);
            }
        }
        LOGGER.debug("Finished Writen {} items", size);

    }
the data isnt there. See the last writeUTF for an example.