static void computeBatchRequest (TestSet& requestSet, const TestSet& executeSet, const TestNode* root, int maxCasesInSet)
{
	ConstTestNodeIterator	iter		= ConstTestNodeIterator::begin(root);
	ConstTestNodeIterator	end			= ConstTestNodeIterator::end(root);
	int						numCases	= 0;

	for (; (iter != end) && (numCases < maxCasesInSet); ++iter)
	{
		const TestNode* node = *iter;

		if (node->getNodeType() == TESTNODETYPE_TEST_CASE && executeSet.hasNode(node))
		{
			const TestCase* testCase = static_cast<const TestCase*>(node);
			requestSet.addCase(testCase);
			numCases += 1;
		}
	}
}
static void computeExecuteSet (TestSet& executeSet, const TestNode* root, const TestSet& testSet, const BatchResult* batchResult)
{
	ConstTestNodeIterator	iter	= ConstTestNodeIterator::begin(root);
	ConstTestNodeIterator	end		= ConstTestNodeIterator::end(root);

	for (; iter != end; ++iter)
	{
		const TestNode* node = *iter;

		if (node->getNodeType() == TESTNODETYPE_TEST_CASE && testSet.hasNode(node))
		{
			const TestCase* testCase = static_cast<const TestCase*>(node);

			if (!isExecutedInBatch(batchResult, testCase))
				executeSet.addCase(testCase);
		}
	}
}