@Test
 public void testGetPropertyAsLongExists() {
   final Configuration configuration = TestConfiguration.create("foo", "1");
   final Optional<Long> value = configuration.getPropertyAsLong("foo");
   Assert.assertTrue(value.isPresent());
   Assert.assertEquals(1L, value.get().longValue());
 }
 @Test(expected = NumberFormatException.class)
 public void testGetPropertyAsLongWithDefaultInvalid() {
   final Configuration configuration = TestConfiguration.create("foo", "ABC");
   configuration.getPropertyAsLong("foo", 2);
 }
 @Test
 public void testGetPropertyAsLongWithDefaultMissing() {
   final Configuration configuration = TestConfiguration.create();
   final long value = configuration.getPropertyAsLong("foo", 2);
   Assert.assertEquals(2, value);
 }
 @Test
 public void testGetPropertyAsLongMissing() {
   final Configuration configuration = TestConfiguration.create();
   final Optional<Long> value = configuration.getPropertyAsLong("foo");
   Assert.assertFalse(value.isPresent());
 }