Impression-mark Test  A global publishing company that publishes books and journals wants to develop a service to add Springer Impression to their documents. Book publications include topics in business, science and media. Journals don’t include any specific topics. A document (books, journals) has a title, author and an impression-mark property. An empty impression-mark property indicates that the document has not been impression-marked yet.  The impression marking service has to be asynchronous. For a given content document the service should return a ticket, which can be used to poll the status of processing. If the impression marking is finished, then the document can be retrieved with the ticket. The impression-mark of a book or a journal is identified by setting the impression-mark property of the object. For a book the impression-mark includes the properties content, title, author and topic. The journal impression-mark includes the content, title and author.   Examples for impression-marks: {content:”book”, title:”The Dark Code”, author:”Bruce Wayne”, topic:”Science”} {content:”book”, title:”How to make money”, author:”Dr. Evil”, topic:”Business”} {content:”journal”, title:”Journal of human flight routes”, author:”Clark Kent”}   a)	Create an appropriate object-oriented model for the problem. b)	Implement the Impression-mark Service, meeting the above conditions. c)	Provide Unit-Tests to ensure the functionality of the service.