code: public MailMessage findMessage(final MailAccount mailAccount, final Predicate<MailMessage> condition,
  			final long timeoutSeconds, final long sleepMillis) {
  		return findMessage(mailAccount, condition, timeoutSeconds, sleepMillis, true);
  	}
docs: <p>
  Tries to find a message for the specified mail account applying the specified
  {@code condition} until it times out using the specified {@code timeout} and and
  {@code sleepMillis}.
  </p>
  <p>
  <b>Note:</b><br />
  This method uses the specified mail account independently without reservation. If, however,
  the specified mail account has been reserved by any thread (including the current one), an
  {@link IllegalStateException} is thrown.
  </p>
  
  @param mailAccount
  the mail account
  @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