@Override
    public Optional<String> getValue(Object arg, String type) {
        return arg == null ? Optional.empty() : Optional.of(String.valueOf(arg));
    }
@Test
    public void testValue() {
        TypeStrategy strategy = new EmptyTypeStrategy();

        // normal
        Assert.assertEquals("foo", strategy.getValue("foo", "").orElse(null));

        // normal
        Assert.assertEquals("foo", strategy.getValue("foo", null).orElse(null));

        // the test is not equal
        Assert.assertNotEquals("foo", strategy.getValue("bar", null).orElse(null));

        // test null
        Assert.assertNotEquals("foo", strategy.getValue(null, null).orElse(null));
    }