BindTagKeysToIndexedFormParams implements Binder { @Override public <R extends HttpRequest> R bindToRequest(R request, Object input) { checkArgument(checkNotNull(input, "input") instanceof Iterable, "This binder is only valid for Iterable<String>"); @SuppressWarnings("unchecked") Iterable<String> keys = (Iterable<String>) input; return AWSUtils.indexStringArrayToFormValuesWithStringFormat(request, "Tag.%s.Key", Iterables.toArray(keys, String.class)); }  @Override R bindToRequest(R request, Object input);  }
@Test(expectedExceptions = IllegalArgumentException.class) public void testMustBeIterable() { HttpRequest request = HttpRequest.builder().method("POST").endpoint("http: binder.bindToRequest(request, new File("foo")); }
@Test(expectedExceptions = NullPointerException.class) public void testNullIsBad() { HttpRequest request = HttpRequest.builder().method("GET").endpoint("http: binder.bindToRequest(request, null); }