code: public <RowT> UnaryCallable<Query, RowT> readRowCallable(RowAdapter<RowT> rowAdapter) {
      return stub.createReadRowCallable(rowAdapter);
    }
docs: Reads a single row. This callable allows for customization of the logical representation of a
  row. It's meant for advanced use cases.
  
  <p>Sample code:
  
  <pre>{@code
  try (BigtableDataClient bigtableDataClient = BigtableDataClient.create("[PROJECT]", "[INSTANCE]")) {
  String tableId = "[TABLE]";
  
  Query query = Query.create(tableId)
  .rowKey("[KEY]")
  .filter(FILTERS.qualifier().regex("[COLUMN PREFIX].*"));
  
  // Synchronous invocation
  CustomRow row = bigtableDataClient.readRowCallable(new CustomRowAdapter()).call(query));
  // Do something with row
  }
  }</pre>
  
  @see ServerStreamingCallable For call styles.
  @see Query For query options.
  @see com.google.cloud.bigtable.data.v2.models.Filters For the filter building DSL.