static protected function _filterActions($action_to_priority, $only_do, $dont_do, $type)
	{
		$start = microtime(true);
		foreach ($action_to_priority as $action => $priority)
		{
			//print('stepping 1... [' . (microtime(true) - $start) . ']' . "\n");
			$converted = QuickBooks_Utilities::actionToObject($action);
			//print('stepping 2... [' . (microtime(true) - $start) . ']' . "\n");
			
			if (count($only_do) and
				(false === array_search($action, $only_do) and 
				 false === array_search($converted, $only_do)))
			{
				unset($action_to_priority[$action]);
			}
			
			if (count($dont_do) and
				(false !== array_search($action, $dont_do) or
				false !== array_search($converted, $dont_do)))
			{
				unset($action_to_priority[$action]);
			}
		}
		//print("\n" . 'ending... [' . (microtime(true) - $start) . ']' . "\n\n");
		
		arsort($action_to_priority);
		
		//print_r($action_to_priority);
		
		return $action_to_priority;
	}