@Override
    public boolean isValid() {
        // Validate type/devices
        type();
        devices();

        return super.isValid()
                && hasOnlyFields(ALLOWED, NAME, LATITUDE, LONGITUDE, UI_TYPE,
                RACK_ADDRESS, OWNER, TYPE, DEVICES, LOC_IN_PEERS);
    }
@Test(expected = InvalidFieldException.class)
    public void sampleInvalidConfig() {
        ObjectNode node = new TmpJson()
                .props(NAME, TYPE, "foo")
                .arrays(DEVICES)
                .node();
        cfg = new BasicRegionConfig();
        cfg.init(regionId(R1), BASIC, node, mapper, delegate);

        cfg.isValid();
    }