class MailboxExecutorServiceImpl extends AbstractExecutorService implements MailboxExecutorService {

	@Override
	public void yield() throws InterruptedException, IllegalStateException {
		checkIsMailboxThread();
		try {
			Runnable runnable = mailbox.takeMail();
			runnable.run();
		} catch (MailboxStateException e) {
			throw new IllegalStateException("Mailbox can no longer supply runnables for yielding.", e);
		}
	}

	public  MailboxExecutorServiceImpl(@Nonnull Mailbox mailbox);
	public  MailboxExecutorServiceImpl(@Nonnull Mailbox mailbox, @Nonnull Thread taskMailboxThread);

}