Objects wishing to process market data updates must implement this interface. The contract for this interface is as follows:
The update object passed to AcceptUpdate is not owned by the acceptor. Once AcceptUpdate returns there is no guarantee that
the Update object will not be modified by other parts of a market data processing application. Acceptors which wish to hang on to
the data permanently or queue it for further processing after returning from AcceptUpdate should make a copy of the Update.
There is no requirement that the Update returned from AcceptUpdate be the same object as the one passed in, nor that it remain
unchanged. Acceptors are free to return null in order to indicate that the update has been consumed and the caller should regard
it as no longer of interest. This allows for the implementation of filters which act as message sinks. The exact meaning of this
condition to calling code is undefined, but callers should be prepared to deal with this situation.