THIS IS A JAVA PROGRAMMING: 1. Create a class called Gizmo to keep track of the following information 1. Product Name 2. Product Number 3. Year 4. Quantity 5. Price 2. Create a list of Gizmo objects with the following values: 3. Prompt the user with the following actions: A. Add a new entry B. Remove an entry specified by the user C. Sort the list by year A. Use the "natural" ordering - i.e. Have the Gizmo class implement Comparable<Gizmos D. Sort the list by price E. Sort the list by quantity F. Calculate and print the total value of the inventory A. Use streaming operations and lambda expressions G. Print inventory A. Print the inventory in a table format 4. Other requirements 1. Only print the list when requested (not after add/remove/sort operations) 2. Gracefully handle errors in user input (e.g. prompt them to retry) 5. Be sure to review and follow the Submission Guidelines.