### Question:
ProductImpl implements Product { @Override public Boolean isBundleProduct() { if (isBundleProduct == null) { isBundleProduct = productRetriever != null && productRetriever.fetchProduct() instanceof BundleProduct; } return isBundleProduct; }  @Override Boolean getFound(); @Override String getName(); @Override String getDescription(); @Override String getSku(); @Override String getCurrency(); @Override Double getPrice(); @Override Price getPriceRange(); @Override Boolean getInStock(); @Override Boolean isConfigurable(); @Override Boolean isGroupedProduct(); @Override Boolean isVirtualProduct(); @Override Boolean isBundleProduct(); @Override String getVariantsJson(); @Override List<Variant> getVariants(); @Override List<GroupItem> getGroupedProductItems(); @Override List<Asset> getAssets(); @Override String getAssetsJson(); @Override List<VariantAttribute> getVariantAttributes(); @Override Boolean loadClientPrice(); @Override String getFormattedPrice(); @Override AbstractProductRetriever getProductRetriever();  }### Answer:
@Test public void testBundleProduct() throws IOException { Utils.setupHttpResponse("graphql/magento-graphql-bundleproduct-result.json", httpClient, 200); productModel = context.request().adaptTo(ProductImpl.class); Assert.assertNotNull("Product model is not null", productModel); Assert.assertTrue(productModel.isBundleProduct()); }