The BoundedWildcardDemo.java program uses the other four Java class files. Bounded wildcards are particularly important when you are creating a generic type that will operate on a class hierarchy. Here's the general structure of this example: - TwoD is a two-dimensional co-ordinate class - ThreeD is a three-dimensional co-ordinate class that inherits from TwoD - FourD is a four-dimensional co-ordinate class that inherits from ThreeD - Coords is a class that holds an array of co-ordinate values that can be objects of any of the other three classes Note: For simplicity the instance variables in these very simple classes have not been given the usual "private" access qualifier so that we don't need to have any getters when we're outputting the values.