public Array getArray(String name) {
        Array a = arrayMap.get(name);
        if (a == null) {
            validateArray(name);
            a = new Array(configDefinition, name);
            arrayMap.put(name, a);
        }
        return a;
    }
@Test
    public void require_that_get_can_be_used_instead() {
        ConfigPayloadBuilder builder = new ConfigPayloadBuilder();
        ConfigPayloadBuilder.Array array = builder.getArray("foo");
        // Causes append to be used
        ConfigPayloadBuilder b1 = array.get(0);
        ConfigPayloadBuilder b2 = array.get(1);
        ConfigPayloadBuilder b3 = array.get(0);
        ConfigPayloadBuilder b4 = array.get(1);
        assertEquals(b1, b3);
        assertEquals(b2, b4);

        ConfigPayloadBuilder.Array array_indexed = builder.getArray("bar");
        ConfigPayloadBuilder bi3 = array_indexed.set(3);
        ConfigPayloadBuilder bi1 = array_indexed.set(1);
        ConfigPayloadBuilder bi32 = array_indexed.get(3);
        ConfigPayloadBuilder bi12 = array_indexed.get(1);
        assertEquals(bi12, bi1);
        assertEquals(bi32, bi3);
    }