```html
Your task is to create a set of Java classes to model different types of boxes: a generic **Box**, a specialized **Cube**, and a **Weighted Box**. This problem focuses on applying **inheritance** and **encapsulation** to build a class hierarchy.
Box Class:
width, height, and depth.Cube Class:
WeightBox Class:
weight.List of type Box.Your main method must demonstrate the program works by testing the following scenarios:
List and add one instance of each class (`Box`, `Cube`, and `WeightBox`) to it.