public function handleFilter($filtererName, $method, $params, $locals, $globals)
    {
        $this->allowTemplateCode = false;

        $this->locals  = $locals;
        $this->globals = $globals;
        $this->params  = $params;

        //empty string given for method, use default method
        if(strlen($method) == 0 && $this->getDefaultMethod() != null)
            $methodResolved = $this->getDefaultMethod();
        else if(strlen($method) > 0)
            $methodResolved = ActionUtils::parseMethod($method);
        else
            throw new Exception('No filter method specified and default method does not exist on class ['.get_class($this).']');

        $this->currentMethod = $methodResolved;
        $this->currentFilter = $filtererName.(strlen($method)==0?'':'-'.$method);

        if(!method_exists($this, $methodResolved))
            throw new Exception('Method ['.$methodResolved.'] does not exist on class ['.get_class($this).']');

        $this->preFilter($params);

        $result = $this->$methodResolved($params);

        $this->postFilter($params, $result);

        return $result;
    }