@@ -0,0 +1,1004 @@
+/**%0A * %0A */%0Apackage mathsquared.resultswizard2;%0A%0Aimport java.awt.Graphics;%0A%0A/**%0A * Encapsulates a Slide, hiding its inner workings. Specifically, hides all methods of the Slide except those specified by the %7B@linkplain Slide %3Ccode%3ESlide%3C/code%3E interface%7D.%0A * %0A * %3Cp%3E%0A * Note that if all access to the encapsulated Slide is managed by a SlideEncapsulator, the encapsulated Slide is effectively immutable (unless the %3Ccode%3Edraw%3C/code%3E method changes the encapsulated Slide's state). This is useful for %7B@link SlideList%7D implementations, which may not want their Slides to be tampered with.%0A * %3C/p%3E%0A * %0A * @author MathSquared%0A * %0A */%0Apublic class SlideEncapsulator implements Slide %7B%0A    Slide innards;%0A%0A    /**%0A     * Constructs a SlideEncapsulator that encapsulates the given Slide.%0A     * %0A     * @param innards the Slide to be encapsulated%0A     */%0A    public SlideEncapsulator (Slide innards) %7B%0A        this.innards = innards;%0A    %7D%0A%0A    public void draw (Graphics g) %7B%0A        innards.draw(g);%0A    %7D%0A%7D%0A

Add SlideEncapsulator