protected static function getReferencedEnums()
 {
     $ref_enums = array();
     $ref_enums['ExecutionOptions'] = AdLabelExecutionOptionsValues::getInstance()->getValues();
     return $ref_enums;
 }
 public function createAdLabel(array $fields = array(), array $params = array(), $pending = false)
 {
     $this->assureId();
     $param_types = array('adlabels' => 'list<Object>', 'execution_options' => 'list<execution_options_enum>');
     $enums = array('execution_options_enum' => AdLabelExecutionOptionsValues::getInstance()->getValues());
     $request = new ApiRequest($this->api, $this->data['id'], RequestInterface::METHOD_POST, '/adlabels', new AdLabel(), 'EDGE', AdLabel::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums));
     $request->addParams($params);
     $request->addFields($fields);
     return $pending ? $request : $request->execute();
 }