@Override
  public DataBuffer readChunk() throws IOException {
    if (mDetailedMetricsEnabled) {
      try (Timer.Context ignored = MetricsSystem
          .timer(MetricKey.CLIENT_BLOCK_READ_CHUNK_REMOTE.getName()).time()) {
        return readChunkInternal();
      }
    }
    return readChunkInternal();
  }
@Test
  public void readEmptyFile() throws Exception {
    try (DataReader reader = create(0, 10)) {
      setReadResponses(mClient, 0, 0, 0);
      assertEquals(null, reader.readChunk());
    }
    validateReadRequestSent(mClient, 0, 10, true, CHUNK_SIZE);
  }