@Override
  @SuppressWarnings("rawtypes")
  public <K, T> List<URIKeyPair<K>> getUris(Request<T> request, ProtocolVersion version) {
    BatchRequest<T> batchRequest = safeCastRequest(request);
    @SuppressWarnings("unchecked")
    Set<K> keys = (Set<K>) batchRequest.getObjectIds();
    return keys.stream()
        .map(key -> {
          Request unbatchRequestByKey = unbatchRequestByKey(batchRequest, key);
          URI requestUri = RestliUriBuilderUtil.createUriBuilder(unbatchRequestByKey,
                  RestConstants.D2_URI_PREFIX, version).build();
          return new URIKeyPair<>(key, requestUri);
        })
        .collect(Collectors.toList());
  }
@Test(dataProvider="illegalRequestMethodProvider", expectedExceptions = {UnsupportedOperationException.class})
  public void testUnsupportedRequestGetUris(ResourceMethod requestMethod)
  {
    Request<?> request = mock(Request.class);
    when(request.getMethod()).thenReturn(requestMethod);
    _sgStrategy.getUris(request, AllProtocolVersions.LATEST_PROTOCOL_VERSION);
  }