### Question:
FastDatumReaderWriterUtil { public static <T> FastSpecificDatumReader<T> getFastSpecificDatumReader(Schema schema) { return (FastSpecificDatumReader<T>) getFastSpecificDatumReader(schema, schema); } private  FastDatumReaderWriterUtil(); static FastGenericDatumReader<T> getFastGenericDatumReader(Schema schema); static FastGenericDatumReader<T> getFastGenericDatumReader(Schema writerSchema, Schema readerSchema); static FastGenericDatumWriter<T> getFastGenericDatumWriter(Schema writerSchema); static FastSpecificDatumReader<T> getFastSpecificDatumReader(Schema schema); static FastSpecificDatumReader<T> getFastSpecificDatumReader(Schema writerSchema, Schema readerSchema); static FastSpecificDatumWriter<T> getFastSpecificDatumWriter(Schema writerSchema);  }### Answer:
@Test (groups = "deserializationTest") public void testIsSupportedForFastSpecificDatumReader() { Schema testWriterSchema = Schema.parse("{\"type\": \"record\", \"name\": \"test_record\", \"fields\":[]}"); Schema testReaderSchema = Schema.parse("{\"type\": \"record\", \"name\": \"test_record\", \"fields\":[]}"); FastSpecificDatumReader fastReader = FastDatumReaderWriterUtil.getFastSpecificDatumReader(testWriterSchema, testReaderSchema); Assert.assertNotNull(fastReader); FastSpecificDatumReader newFastReader = FastDatumReaderWriterUtil.getFastSpecificDatumReader(testWriterSchema, testReaderSchema); Assert.assertSame(fastReader, newFastReader); }
@Test (groups = "deserializationTest") public void testIsSupportedForFastSpecificDatumReaderWithSameReaderWriterSchema() { Schema testSchema = Schema.parse("{\"type\": \"record\", \"name\": \"test_record\", \"fields\":[]}"); FastSpecificDatumReader fastReader = FastDatumReaderWriterUtil.getFastSpecificDatumReader(testSchema); Assert.assertNotNull(fastReader); FastSpecificDatumReader newFastReader = FastDatumReaderWriterUtil.getFastSpecificDatumReader(testSchema); Assert.assertSame(fastReader, newFastReader); }