code: public MailMessage findMessage(final String accountReservationKey, final Predicate<MailMessage> condition,
  			final long timeoutSeconds, final long sleepMillis) {
  		MailAccount mailAccount = checkNotNull(mailAccountManager.lookupUsedMailAccountForCurrentThread(accountReservationKey),
  				"No mail account reserved for current thread under key '%s'", accountReservationKey);
  		return findMessage(mailAccount, condition, timeoutSeconds, sleepMillis, false);
  	}
docs: Tries to find a message for the mail account reserved under the specified
  {@code accountReservationKey} applying the specified {@code condition} until it times out
  using the specified {@code timeout} and and {@code sleepMillis}.
  
  @param accountReservationKey
  the key under which the account has been reserved
  @param condition
  the condition a message must meet
  @param timeoutSeconds
  the timeout in seconds
  @param sleepMillis
  the time in milliseconds to sleep between polls
  @return the mail message