MessageContext
MessageContext is used for passing the parsing configuration and the last value read by codec.
For efficiency, it holds several primitive type values as local variables to avoid the boxing overhead.
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any