Source: Shapes.java