GenericRecord record = new GenericData.Record(schema); for (Schema.Field field : schema.getFields()) record.put(field.name(), generate(field.schema(), random, d+1)); return record; case ENUM: new GenericData.Array(length<=0?0:length, schema); for (int i = 0; i < length; i++) array.add(generate(schema.getElementType(), random, d+1)); return array; case MAP: for (int i = 0; i < length; i++) { map.put(TestUtil.randomString(random), generate(schema.getValueType(), random, d+1)); return generate(types.get(random.nextInt(types.size())), random, d); case FIXED: byte[] bytes = new byte[schema.getFixedSize()];