Schema schema = null;
if (r instanceof GenericContainer) {
schema = ((GenericContainer) r).getSchema();
} else {
schema = new ReflectDataFactory().getReflectData().getSchema(r.getClass());
}
GenericDatumWriter genericDatumWriter = new GenericDatumWriter(schema);
DataFileWriter dataFileWriter = new DataFileWriter(genericDatumWriter);