} catch (NumberFormatException nfe) {
return SYNTAX_ERROR;
}
try {
MessageMetaData data = MessageMetaDataUtils.getMetaData(session, num);
if (data == null) {
StringBuilder responseBuffer = new StringBuilder(64).append("Message (").append(num).append(") does not exist.");
return new POP3Response(POP3Response.ERR_RESPONSE, responseBuffer.toString());
}
List<String> deletedUidList = (List<String>) session.getAttachment(POP3Session.DELETED_UID_LIST, State.Transaction);
String uid = data.getUid();
if (deletedUidList.contains(uid) == false) {
InputStream message = new CountingBodyInputStream(new ExtraDotInputStream(new CRLFTerminatedInputStream(session.getUserMailbox().getMessage(uid))), lines);
if (message != null) {
return new POP3StreamResponse(POP3Response.OK_RESPONSE, "Message follows", message);