Design a framework (class diagram only) for converting a single-threaded process working on a collection of objects to multi-threaded process working on a batch from the collection. It should support the following features:
•Interfaces needed to be implemented by the client applications should be clearly defined by the framework.
•Logic of splitting and aggregating the objects from collection should be delegated to the client applications (i.e. this logic won’t be part of the framework)
•Should allow configuration of the number of threads as well as the batch size