public function __construct(\stdClass $configuration = NULL, aohs\AssetOperationHandlerService $service = NULL, $type = NULL, $data2 = NULL, $data3 = NULL)
 {
     if (isset($configuration)) {
         $this->id = $configuration->id;
         $this->name = $configuration->name;
         $this->default_configuration = $configuration->defaultConfiguration;
         $this->template_id = $configuration->templateId;
         $this->template_path = $configuration->templatePath;
         $this->format_id = $configuration->formatId;
         $this->format_path = $configuration->formatPath;
         $this->format_recycled = $configuration->formatRecycled;
         $this->output_extension = $configuration->outputExtension;
         $this->serialization_type = $configuration->serializationType;
         $this->include_xml_declaration = $configuration->includeXMLDeclaration;
         $this->publishable = $configuration->publishable;
         $this->service = $service;
         $this->page_regions = array();
         // order page regions
         $this->page_region_map = array();
         // name->page region map
         // test added 8/16/2014
         if (isset($configuration->pageRegions) && isset($configuration->pageRegions->pageRegion)) {
             a\Template::processPageRegions($configuration->pageRegions->pageRegion, $this->page_regions, $this->page_region_map, $service);
         }
         if (isset($type) && $type == c\T::PAGE) {
             $this->type = c\T::PAGE;
         }
     }
 }