@Override
public ListenableFuture<List<MutateRowsResponse>> mutateRowsAsync(MutateRowsRequest request) {
return getStreamingFuture(request, mutateRowsRpc, request.getTableName());
}
@Override
<BUG>public CheckAndMutateRowResponse checkAndMutateRow(CheckAndMutateRowRequest request)

throws ServiceException {</BUG>
return getBlockingUnaryResult(request, checkAndMutateRpc, request.getTableName());
}

@Override
public boolean apply(MutateRowRequest mutateRowRequest) {
return mutateRowRequest != null
&& allCellsHaveTimestamps(mutateRowRequest.getMutationsList());
}
};
@VisibleForTesting
public static final Predicate<MutateRowsRequest> ARE_RETRYABLE_MUTATIONS =
new Predicate<MutateRowsRequest>() {
