public MailConfiguration getConfiguration() {
        if (configuration == null) {
            configuration = new MailConfiguration(getCamelContext());
        }
        return configuration;
    }
@Test
    public void testManyConfigurations() {
        MailEndpoint endpoint = checkEndpoint("smtp://james@myhost:30/subject?password=secret"
                                              + "&from=me@camelriders.org&delete=true&folderName=riders"
                                              + "&contentType=text/html&unseen=false");
        MailConfiguration config = endpoint.getConfiguration();
        assertEquals("smtp", config.getProtocol(), "getProtocol()");
        assertEquals("myhost", config.getHost(), "getHost()");
        assertEquals(30, config.getPort(), "getPort()");
        assertEquals("james", config.getUsername(), "getUsername()");
        assertEquals("james@myhost", config.getRecipients().get(Message.RecipientType.TO),
                "getRecipients().get(Message.RecipientType.TO)");
        assertEquals("riders", config.getFolderName(), "folder");
        assertEquals("me@camelriders.org", config.getFrom(), "from");
        assertEquals("secret", config.getPassword(), "password");
        assertEquals(true, config.isDelete());
        assertFalse(config.isIgnoreUriScheme());
        assertEquals(-1, config.getFetchSize(), "fetchSize");
        assertFalse(config.isUnseen(), "unseen");
        assertEquals("text/html", config.getContentType(), MailConstants.MAIL_CONTENT_TYPE);
        assertFalse(config.isDebugMode());
    }