@Override
  public void fromData(DataInput in,
      DeserializationContext context) throws IOException, ClassNotFoundException {
    // Note: does not call super.fromData what a HACK
    _operation = EnumListenerEvent.getEnumListenerEvent(in.readByte());
    int dataSerializerCount = in.readInt();
    serializedDataSerializer = new byte[dataSerializerCount][];
    for (int i = 0; i < dataSerializerCount; i++) {
      serializedDataSerializer[i] = DataSerializer.readByteArray(in);
    }
    _membershipId = ClientProxyMembershipID.readCanonicalized(in);
    _eventIdentifier = context.getDeserializer().readObject(in);
  }
Reads an object from a <code>DataInput</code>.

@throws IOException If this serializer cannot read an object from <code>in</code>.
@throws ClassNotFoundException If the class for an object being restored cannot be found.
@see DataSerializableFixedID#fromData(DataInput, DeserializationContext)
geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientDataSerializerMessage.java