Would a `checkArgument(httpRedirect instanceof ...)` help here, or is that assumed by contract?