public function createProductCatalog(array $fields = array(), array $params = array(), $pending = false)
 {
     $this->assureId();
     $param_types = array('name' => 'string', 'vertical' => 'vertical_enum');
     $enums = array('vertical_enum' => ProductCatalogVerticalValues::getInstance()->getValues());
     $request = new ApiRequest($this->api, $this->data['id'], RequestInterface::METHOD_POST, '/product_catalogs', new ProductCatalog(), 'EDGE', ProductCatalog::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums));
     $request->addParams($params);
     $request->addFields($fields);
     return $pending ? $request : $request->execute();
 }
 protected static function getReferencedEnums()
 {
     $ref_enums = array();
     $ref_enums['Vertical'] = ProductCatalogVerticalValues::getInstance()->getValues();
     return $ref_enums;
 }