Question: A SingleBuffer supports get and put: The SingleBuffer stores a single item and an indication whether the SingleBuffer is logically empty. A put may be applied only to an empty buffer, and it inserts an item into the buffer. A get may be applied only to a nonempty buffer, and it deletes and returns the contents of the buffer. Write a generic class to implement SingleBuffer. Define an exception to signal errors.