protected static function loadFilters($filters, $options = []) {
        
        $queue = array();
        
        if(!is_array($filters)) {
            $filters = [$filters];
            $options = [$options];
        }

        foreach($filters as $idx => $filtername) {
            
            $classname = __NAMESPACE__."\\Types\\".preg_replace("/[^A-z0-9]/", "", ucfirst($filtername))."Filter";

            if(!class_exists($classname))
                throw new FilterException("Filter class '$filtername' not found");
            
            $filter = new $classname($options[$idx]);
            
            if(!$filter instanceof IFilterType)
                throw new FilterException("Filter is not instance of IFilterType");
                    
            $queue[] = $filter;
        }

        return $queue;
    }