@Override
    public ValidationResult validate(Object value) {
        if ((allowMissing && value == null) || value instanceof List) {
            return new ValidationResult.ValidationPassed();
        } else {
            return new ValidationResult.ValidationFailed("Value is not a list!");
        }
    }
@Test
    public void testValidate() throws Exception {
        final ListValidator v = new ListValidator();

        assertFalse(v.validate(null).passed());
        assertFalse(v.validate(Maps.newHashMap()).passed());
        assertTrue(v.validate(Lists.newArrayList()).passed());
        assertTrue(v.validate(Lists.newArrayList("a", "string")).passed());
    }