Why can't you do 

        super(ds, legend, preview); 
        this.init();

? Is there a particular reason why init should not be called in the constructor ?