Buggy code:
public class HeaderViewer extends JPanel implements ICustomViewer { private Map map ; private boolean visible ; private static final Logger LOG = Logger . getLogger ( "org.columba.mail.gui.message.viewer" ) ; private HeaderViewer . HeaderTextPane headerTextPane ; private HeaderViewer . StatusPanel statusPanel ; private boolean hasAttachment ; private MessageController mediator ; public HeaderViewer ( MessageController mediator ) { } public void view ( IMailbox folder , Object uid , MailFrameMediator mediator ) throws Exception { XmlElement headerviewerElement = MailConfig . getInstance ( ) . get ( "options" ) . getElement ( "//options//headerviewer" ) ; IDefaultItem item = new org . columba . core . config . DefaultItem ( headerviewerElement ) ; int style = item . getIntegerWithDefault ( "style" , 0 ) ; map = new LinkedHashMap ( ) ; Header header = null ; String [ ] headers = null ; switch ( style ) { case 0 : <START_BUG> headers = new String [ ] { "Subject" , "Date" , "From" , "To" , "Reply-To" , "Cc" , "Bcc" } ; <END_BUG> header = folder . getHeaderFields ( uid , headers ) ; for ( int i = 0 ; i < ( headers . length ) ; i ++ ) { String key = headers [ i ] ; Object value = transformHeaderField ( header , key ) ; if ( value != null ) map . put ( key , value ) ; } break ; case 1 : String list = headerviewerElement . getAttribute ( "headerfields" ) ; StringTokenizer tok = new StringTokenizer ( list , "<seq2seq4repair_space>" ) ; headers = new String [ tok . countTokens ( ) ] ; for ( int i = 0 ; i < ( headers . length ) ; i ++ ) { headers [ i ] = tok . nextToken ( ) ; } header = folder . getHeaderFields ( uid , headers ) ; for ( int i = 0 ; i < ( headers . length ) ; i ++ ) { String key = headers [ i ] ; Object value = transformHeaderField ( header , key ) ; if ( value != null ) map . put ( key , value ) ; } break ; case 2 : header = folder . getAllHeaderFields ( uid ) ; Enumeration enumeration = header . getKeys ( ) ; map = new LinkedHashMap ( ) ; while ( enumeration . hasMoreElements ( ) ) { String key = ( ( String ) ( enumeration . nextElement ( ) ) ) ; Object value = transformHeaderField ( header , key ) ; if ( value != null ) map . put ( key , value ) ; } break ; } hasAttachment = ( ( Boolean ) ( folder . getAttribute ( uid , "columba.attachment" ) ) ) . booleanValue ( ) ; visible = true ; } public JComponent getView ( ) { } protected Object transformHeaderField ( Header header , String key ) { } public boolean isVisible ( ) { } public void updateGUI ( ) throws Exception { } public HeaderViewer . HeaderTextPane getHeaderTextPane ( ) { } public void updateUI ( ) { } public HeaderViewer . StatusPanel getStatusPanel ( ) { } public class HeaderTextPane extends JTextPane { private static final String LEFT_COLUMN_PROPERTIES = "border=\"0\"<seq2seq4repair_space>nowrap<seq2seq4repair_space>font=\"dialog\"<seq2seq4repair_space>align=\"right\"<seq2seq4repair_space>valign=\"top\"<seq2seq4repair_space>width=\"5%\"" ; private static final String RIGHT_COLUMN_PROPERTIES = "border=\"0\"<seq2seq4repair_space>align=\"left\"<seq2seq4repair_space>valign=\"top\"<seq2seq4repair_space>width=\"90%\"" ; private static final String RIGHT_STATUS_COLUMN_PROPERTIES = "border=\"0\"<seq2seq4repair_space>align=\"right\"<seq2seq4repair_space>valign=\"top\"<seq2seq4repair_space>width=\"90%\"" ; private static final String OUTTER_TABLE_PROPERTIES = "border=\"0\"<seq2seq4repair_space>cellspacing=\"1\"<seq2seq4repair_space>cellpadding=\"1\"<seq2seq4repair_space>" + "align=\"left\"<seq2seq4repair_space>width=\"100%\"" ; private String css = "" ; public HeaderTextPane ( ) { } public void updateUI ( ) { } protected void initStyleSheet ( ) { } public void setHeader ( Map keys ) { } } public class StatusPanel extends JPanel implements SecurityStatusListener { private ImageIcon attachment = ImageLoader . getImageIcon ( "stock_attach.png" ) ; private JLabel attachmentLabel ; private JLabel decryptionLabel ; private JPanel leftPanel ; public StatusPanel ( ) { } public void updateUI ( ) { } public void setStatus ( boolean hasAttachment ) { } public void statusUpdate ( SecurityStatusEvent event ) { } } }

Fix:
headers = new String [ ] { "Subject" , "Date" , "From" , "To" , "Cc" } ;