@Override
                public void onFailure(RuntimeException e) {
                    synchronized (listOffsetRequestsFuture) {
                        if (!listOffsetRequestsFuture.isDone())
                            listOffsetRequestsFuture.raise(e);
                    }
                }
Search the offsets by target times for the specified partitions.

@param timestampsToSearch the mapping between partitions and target time
@param requireTimestamps  true if we should fail with an UnsupportedVersionException if the broker does
                          not support fetching precise timestamps for offsets
@return A response which can be polled to obtain the corresponding timestamps and offsets.
clients/src/main/java/org/apache/kafka/clients/consumer/internals/OffsetFetcher.java