type safety: make return type of MessageParser.readObject() more specific. Introduce better covariant/contravariant generic parameter declarations for bonaparte-batch