@Override
    public String getProperty(String key) {
        String answer = super.getProperty(key);
        if (answer == null) {
            answer = super.getProperty(StringHelper.dashToCamelCase(key));
        }
        if (answer == null) {
            answer = super.getProperty(StringHelper.camelCaseToDash(key));
        }
        return answer;
    }
@Test
    public void testOrderedLoad() throws Exception {
        Properties prop = new CamelCaseOrderedProperties();
        prop.load(CamelCaseOrderedPropertiesTest.class.getResourceAsStream("/application.properties"));

        assertEquals(4, prop.size());

        Iterator it = prop.keySet().iterator();
        assertEquals("hello", it.next());
        assertEquals("camel.component.seda.concurrent-consumers", it.next());
        assertEquals("camel.component.seda.queueSize", it.next());
        assertEquals("camel.component.direct.timeout", it.next());

        // should be ordered values
        it = prop.values().iterator();
        assertEquals("World", it.next());
        assertEquals("2", it.next());
        assertEquals("500", it.next());
        assertEquals("1234", it.next());

        assertEquals("World", prop.getProperty("hello", "MyDefault"));
        assertEquals("2", prop.getProperty("camel.component.seda.concurrent-consumers", "MyDefault"));
        assertEquals("2", prop.getProperty("camel.component.seda.concurrentConsumers", "MyDefault"));
        assertEquals("500", prop.getProperty("camel.component.seda.queue-size", "MyDefault"));
        assertEquals("500", prop.getProperty("camel.component.seda.queueSize", "MyDefault"));
        assertEquals("1234", prop.getProperty("camel.component.direct.timeout", "MyDefault"));
    }