@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 testOrdered() {
        Properties prop = new CamelCaseOrderedProperties();
        prop.setProperty("hello-world", "Hi Camel");
        prop.setProperty("camel.main.stream-caching-enabled", "true");

        assertEquals(2, prop.size());

        Iterator it = prop.keySet().iterator();
        assertEquals("hello-world", it.next());
        assertEquals("camel.main.stream-caching-enabled", it.next());

        it = prop.values().iterator();
        assertEquals("Hi Camel", it.next());
        assertEquals("true", it.next());

        assertEquals("Hi Camel", prop.getProperty("hello-world"));
        assertEquals("Hi Camel", prop.getProperty("helloWorld"));
        assertEquals("true", prop.getProperty("camel.main.stream-caching-enabled"));
        assertEquals("true", prop.getProperty("camel.main.streamCachingEnabled"));

        assertEquals("Davs", prop.getProperty("bye-world", "Davs"));
    }