public ProductEntry()
: base() {
this.AddExtension(new ProductId());
this.AddExtension(new TargetCountry());
this.AddExtension(new ContentLanguage());
this.AddExtension(new ExpirationDate());
this.AddExtension(new AdditionalImageLink());
this.AddExtension(new Adult());
this.AddExtension(new AdwordsGrouping());
this.AddExtension(new AdwordsLabels());
this.AddExtension(new AdwordsQueryParam());
this.AddExtension(new AdwordsRedirect());
this.AddExtension(new AgeGroup());
this.AddExtension(new Author());
this.AddExtension(new Availability());
this.AddExtension(new Brand());
this.AddExtension(new Channel());
this.AddExtension(new Color());
this.AddExtension(new Condition());
this.AddExtension(new CustomAttribute());
this.AddExtension(new CustomGroup());
this.AddExtension(new Edition());
this.AddExtension(new Feature());
this.AddExtension(new FeaturedProduct());
this.AddExtension(new Gender());
this.AddExtension(new Genre());
this.AddExtension(new GoogleProductCategory());
this.AddExtension(new Gtin());
this.AddExtension(new ImageLink());
this.AddExtension(new ItemGroupId());
this.AddExtension(new Manufacturer());
this.AddExtension(new Material());
this.AddExtension(new ModelNumber());
this.AddExtension(new Mpn());
this.AddExtension(new Pages());
this.AddExtension(new Pattern());
this.AddExtension(new Performance());
this.AddExtension(new Price());
this.AddExtension(new ProductReviewAverage());
this.AddExtension(new ProductReviewCount());
this.AddExtension(new ProductType());
this.AddExtension(new ProductWeight());
this.AddExtension(new Publisher());
this.AddExtension(new Quantity());
this.AddExtension(new SalePrice());
this.AddExtension(new SalePriceEffectiveDate());
this.AddExtension(new Shipping());
this.AddExtension(new ShippingWeight());
this.AddExtension(new Size());
this.AddExtension(new Tax());
this.AddExtension(new Year());
// replacing the default app:control extension with the API-specific one
this.RemoveExtension(new AppControl());
this.AddExtension(new ProductControl());
}