class StreamPaneView
{
    private final JPanel contentPanel;

    /**
     * Constructor.
     */
    StreamPaneView()
    {
        contentPanel = new JPanel(new BorderLayout());
    }

    /**
     * This shows the stream in text for any of  it's filtered or unfiltered version.
     * @param document StyledDocument instance that holds the text.
     * @param toolTipController ToolTipController instance.
     */
    void showStreamText(StyledDocument document, ToolTipController toolTipController)
    {<FILL_FUNCTION_BODY>}


    /**
     * This shows the stream as image.
     * @param image BufferedImage instance that holds the text.
     */
    void showStreamImage(BufferedImage image)
    {
        contentPanel.removeAll();
        contentPanel.add(new StreamImageView(image).getView(), BorderLayout.CENTER);
        contentPanel.validate();
    }

    public JPanel getStreamPanel()
    {
        return contentPanel;
    }
}

        contentPanel.removeAll();
        StreamTextView textView = new StreamTextView(document, toolTipController);
        contentPanel.add(textView.getView(), BorderLayout.CENTER);
        contentPanel.validate();
    
<no_super_class>