protected function prepareCall($func_args) {
		if(!$this->prepared_url)
			$this->prepared_url = $this->url();
		
		$args = array_merge($this->args, $func_args);
		
		$cnt = count($args);
		$replaced_cnt = 0;
		$params = array();
		$this->lastArgs = array();
		
		for($i = 0; $i < $cnt; $i++) {
			$arg = $args[$i];
			
			if(is_array($arg)) {
				$params = $arg;
				break;
			}
			
			$this->prepared_url = preg_replace("/:[a-zA-Z\-_]+/", $arg, $this->prepared_url, 1, $replaced_cnt);
			
			if($replaced_cnt) {
				$this->lastArgs[] = $arg;
				
			} else {
				$params = $arg;
				break;
			}
		}
		
		if(preg_match("/:[a-zA-Z\-_]+/", $this->prepared_url))
			throw new Exception\UnresolvedArguments("Cannot call action '{$this->resource->getName()}#{$this->m_name}': unresolved arguments.");
		
		return $params;
	}