code: public void addShape(Shape shape) {
  		if (shape.points.length != points.length) {
  			throw new RuntimeException("Attempt to morph between two shapes with different vertex counts");
  		}
  		
  		Shape prev = (Shape) shapes.get(shapes.size()-1);
  		if (equalShapes(prev, shape)) {
  			shapes.add(prev);
  		} else {
  			shapes.add(shape);
  		}
  		
  		if (shapes.size() == 2) {
  			next = (Shape) shapes.get(1);
  		}
  	}
docs: Add a subsequent shape that we should morph too in order
  
  @param shape The new shape that forms part of the morphing shape