In the Android MapsDemo available in Eclipse for the Google API, they create an inner class SmoothCanvas in MapViewCompassDemo.java. Within this class the re-implement seemingly every method and reroute it to a delegate instance of Canvas.
static final class SmoothCanvas extends Canvas {
    Canvas delegate;
    private final Paint mSmooth = new Paint(Paint.FILTER_BITMAP_FLAG);
    public void setBitmap(Bitmap bitmap) {
        delegate.setBitmap(bitmap);
    }
    public void setViewport(int width, int height) {
        delegate.setViewport(width, height);
    }
    ...
What is the point of the delegate in this instance?