function getConfigHandler() {
  		if (!$this->config_handler) {
  			$optionId = $this->getOptionId() ;
  			$config_option = ContactConfigOptions::instance()->findById($optionId);
			$this->config_handler = $config_option->getConfigHandler();  			
  			
  		}
  		return $this->config_handler ;
  	}
 /**
 * This function will return paginated result. Result is an array where first element is 
 * array of returned object and second populated pagination object that can be used for 
 * obtaining and rendering pagination data using various helpers.
 * 
 * Items and pagination array vars are indexed with 0 for items and 1 for pagination
 * because you can't use associative indexing with list() construct
 *
 * @access public
 * @param array $arguments Query argumens (@see find()) Limit and offset are ignored!
 * @param integer $items_per_page Number of items per page
 * @param integer $current_page Current page number
 * @return array
 */
 function paginate($arguments = null, $items_per_page = 10, $current_page = 1) {
   if(isset($this) && instance_of($this, 'ContactConfigOptions')) {
     return parent::paginate($arguments, $items_per_page, $current_page);
   } else {
     return ContactConfigOptions::instance()->paginate($arguments, $items_per_page, $current_page);
   } // if
 } // paginate
 /**
 * Return manager instance
 *
 * @access protected
 * @param void
 * @return ConfigOptions 
 */
 function manager() {
   if(!($this->manager instanceof ContactConfigOptions)) $this->manager = ContactConfigOptions::instance();
   return $this->manager;
 } // manager
 function save(){
 	parent::save();
 	ContactConfigOptions::instance()->updateConfigOptionCache($this);
 }
 /**
  * Return manager instance
  *
  * @access protected
  * @param void
  * @return ConfigOptions 
  */
 function manager()
 {
     if (!$this->manager instanceof ContactConfigOptions) {
         $this->manager = ContactConfigOptions::instance();
     }
     return $this->manager;
 }