private void toDataPre_GEODE_1_3_0_0(DataOutput out) throws IOException {
    out.writeInt(maxInactiveInterval);
    out.writeLong(lastAccessedTime);

    synchronized (attributes) {
      out.writeInt(attributes.size());
      for (Map.Entry<String, Object> entry : attributes.entrySet()) {
        DeltaEvent delta = new DeltaEvent(true, entry.getKey(), entry.getValue());
        DataSerializer.writeObject(delta, out);
      }
    }

    out.writeUTF(jvmOwnerId);
  }
Use DeltaEvents to propagate the actual attribute data - DeltaEvents turn the values into byte
arrays which means that the actual domain classes are not required on the server.
extensions/geode-modules-session-internal/src/main/java/org/apache/geode/modules/session/internal/filter/attributes/AbstractSessionAttributes.java