Buggy code:
public class ComposerController extends DefaultFrameController implements ItemListener , DocumentListener , IContentPane , CharsetOwnerInterface { private static final Logger LOG = Logger . getLogger ( "org.columba.mail.gui.composer" ) ; private IdentityInfoPanel identityInfoPanel ; private AttachmentController attachmentController ; private SubjectController subjectController ; private PriorityController priorityController ; private AccountController accountController ; private AbstractEditorController editorController ; private HeaderController headerController ; private ComposerSpellCheck composerSpellCheck ; private ComposerModel composerModel ; private Charset charset ; private EventListenerList listenerList = new EventListenerList ( ) ; private List containerListenerBuffer ; private JSplitPane attachmentSplitPane ; private TextEditorPanel editorPanel ; private LabelWithMnemonic subjectLabel ; private LabelWithMnemonic smtpLabel ; private LabelWithMnemonic priorityLabel ; private JPanel centerPanel = new FormDebugPanel ( ) ; private JPanel topPanel ; private HtmlToolbar htmlToolbar ; private boolean promptOnDialogClosing = true ; private SignatureView signatureView ; private boolean attachmentPanelShown ; public ComposerController ( ) { } public ComposerController ( ComposerModel model , ViewItem viewItem ) { } public IdentityInfoPanel getAccountInfoPanel ( ) { } public void showAttachmentPanel ( ) { } public JSplitPane getAttachmentSplitPane ( ) { } protected void initComponents ( ) { } public void layoutComponents ( ) { } public JPanel getEditorPanel ( ) { } public void setNewEditorView ( ) { } public boolean isAccountInfoPanelVisible ( ) { } public boolean checkState ( ) { } public void updateComponents ( boolean b ) { } public AccountController getAccountController ( ) { } public AttachmentController getAttachmentController ( ) { } public ComposerSpellCheck getComposerSpellCheck ( ) { } public AbstractEditorController getEditorController ( ) { } public HeaderController getHeaderController ( ) { } public IdentityInfoPanel getIdentityInfoPanel ( ) { } public PriorityController getPriorityController ( ) { } public SubjectController getSubjectController ( ) { } protected void init ( ) { } public ComposerModel getModel ( ) { } public void setComposerModel ( ComposerModel model ) { } private void switchEditor ( boolean html ) { } public void addContainerListenerForEditor ( ContainerListener cl ) { } public void removeContainerListenerForEditor ( ContainerListener cl ) { } public Charset getCharset ( ) { } public void setCharset ( Charset charset ) { } public void addCharsetListener ( CharsetListener l ) { } public void removeCharsetListener ( CharsetListener l ) { } protected void fireCharsetChanged ( CharsetEvent e ) { } public void toggleHtmlMode ( ) { XmlElement optionsElement = MailConfig . getInstance ( ) . get ( "composer_options" ) . getElement ( "//options" ) ; XmlElement htmlElement = optionsElement . getElement ( "html" ) ; String enableHtml = htmlElement . getAttribute ( "enable" , "false" ) ; boolean html = Boolean . valueOf ( enableHtml ) . booleanValue ( ) ; boolean wasHtml = composerModel . isHtml ( ) ; if ( html != wasHtml ) { composerModel . setHtml ( html ) ; updateComponents ( false ) ; String oldBody = composerModel . getBodyText ( ) ; String newBody ; if ( html ) { ComposerController . LOG . fine ( "Converting<seq2seq4repair_space>body<seq2seq4repair_space>text<seq2seq4repair_space>to<seq2seq4repair_space>html" ) ; <START_BUG> newBody = HtmlParser . textToHtml ( oldBody , "" , null ) ; <END_BUG> } else { ComposerController . LOG . fine ( "Converting<seq2seq4repair_space>body<seq2seq4repair_space>text<seq2seq4repair_space>to<seq2seq4repair_space>text" ) ; newBody = HtmlParser . htmlToText ( oldBody ) ; } composerModel . setBodyText ( newBody ) ; switchEditor ( composerModel . isHtml ( ) ) ; updateComponents ( true ) ; } if ( html ) { editorPanel . getContentPane ( ) . add ( htmlToolbar , BorderLayout . NORTH ) ; } else { editorPanel . getContentPane ( ) . remove ( htmlToolbar ) ; } editorPanel . validate ( ) ; } public void showToolbar ( ) { } public void showAccountInfoPanel ( ) { } public void close ( ) { } public class ComposerFocusTraversalPolicy extends FocusTraversalPolicy { public Component getComponentAfter ( Container focusCycleRoot , Component aComponent ) { } public Component getComponentBefore ( Container focusCycleRoot , Component aComponent ) { } public Component getDefaultComponent ( Container focusCycleRoot ) { } public Component getLastComponent ( Container focusCycleRoot ) { } public Component getFirstComponent ( Container focusCycleRoot ) { } } public JComponent getComponent ( ) { } public String getString ( String sPath , String sName , String sID ) { } public IContentPane getContentPane ( ) { } public void changedUpdate ( DocumentEvent arg0 ) { } public void insertUpdate ( DocumentEvent arg0 ) { } public void removeUpdate ( DocumentEvent arg0 ) { } public boolean isPromptOnDialogClosing ( ) { } public void setPromptOnDialogClosing ( boolean promptOnDialogClosing ) { } public void itemStateChanged ( ItemEvent e ) { } }

Fix:
newBody = HtmlParser . textToHtml ( oldBody , "" , null , getCharset ( ) . toString ( ) ) ;