private X readOneXFromAvro(Schema schema, ByteArrayOutputStream bout) throws IOException { SeekableByteArrayInput input = new SeekableByteArrayInput(bout.toByteArray()); ReflectDatumReader<X> datumReader = new ReflectDatumReader<>(schema); FileReader<X> reader = DataFileReader.openReader(input, datumReader); Iterator<X> it = reader.iterator(); assertTrue("missing first record",it.hasNext()); X record = it.next(); assertFalse("should be no more records - only wrote one out",it.hasNext()); return record; }