{
String mailboxName = parser.mailbox( request );
StatusDataItems statusDataItems = parser.statusDataItems( request );
parser.endLine( request );
ImapMailbox mailbox = getMailbox( mailboxName, session, true );
StringBuffer buffer = new StringBuffer( mailboxName );
buffer.append( SP );
buffer.append( "(" );
if ( statusDataItems.messages ) {
buffer.append( MESSAGES );
buffer.append( SP );
buffer.append( mailbox.getMessageCount() );
buffer.append( SP );
}
if ( statusDataItems.recent ) {
buffer.append( RECENT );
buffer.append( SP );
buffer.append( mailbox.getRecentCount() );
buffer.append( SP );
}
if ( statusDataItems.uidNext ) {
buffer.append( UIDNEXT );
buffer.append( SP );
buffer.append( mailbox.getUidNext() );
buffer.append( SP );
}
if ( statusDataItems.uidValidity ) {
buffer.append( UIDVALIDITY );
buffer.append( SP );
buffer.append( mailbox.getUidValidity() );
buffer.append( SP );
}
if ( statusDataItems.unseen ) {
buffer.append( UNSEEN );
buffer.append( SP );
buffer.append( mailbox.getUnseenCount() );
buffer.append( SP );
}
if ( buffer.charAt( buffer.length() - 1 ) == ' ' ) {
buffer.setLength( buffer.length() - 1 );
}