The instances of this class will be used for distributing Lucene Query objects and re-constructing the Query object.
If necessary the implementation needs to take care of serializing and de-serializing Lucene Query object. Geode
respects the DataSerializable contract to provide optimal object serialization. For instance,
LuceneQueryProvider
's toData method will be used to serialize it when it is sent to another member of the
distributed system. Implementation of DataSerializable can provide a zero-argument constructor that will be invoked
when they are read with DataSerializer.readObject.