BidRequest extends UserRequest { public final List<Impression> imps() { return openRtb().getImpList(); } protected  BidRequest(
      Exchange exchange, HttpRequest httpRequest,
      @Nullable Object nativeRequest, @Nullable OpenRtb.BidRequest request); static Builder newBuilder(); @Override Builder toBuilder(); final @Nullable T nativeRequest(); final OpenRtb.BidRequest openRtb(); final List<Impression> imps(); final Iterable<Impression> impsWith(Predicate<Impression> predicate); final @Nullable Impression impWithId(final String id); final Iterable<Impression> bannerImps(); final Iterable<Impression> bannerImpsWith(Predicate<Impression> predicate); final @Nullable Impression bannerImpWithId(@Nullable String impId, String bannerId); final Iterable<Impression> videoImps(); final Iterable<Impression> videoImpsWith(Predicate<Impression> predicate); @Override boolean equals(@Nullable Object obj);  }
@Test public void imps() { BidRequest request = TestBidRequestBuilder.create() .setRequest(OpenRtb.BidRequest.newBuilder() .setId("1") .addImp(Impression.newBuilder().setId("1")) .buildPartial()).build(); assertEquals(1, request.imps().size()); assertTrue(Iterables.isEmpty(request.impsWith(Predicates.<Impression>alwaysFalse()))); assertNotNull(request.impWithId("1")); }