private void runSubTestCase(String subTestCase, Properties prop) {
		String length = prop.getProperty(TestCasesStandardProperties.LENGTH);
		int noEntries = prop.containsKey(TestCasesStandardProperties.NO_ENTRIES) ? Integer.parseInt(prop.getProperty(TestCasesStandardProperties.NO_ENTRIES)) : DEFAULT_NO_ENTRIES;
		
		if (length == null) {
			return;
		}
		if (!testCases.containsKey(length.toLowerCase())) {
			return;
		}

		Map<String, List<ITestCaseConcept>> map = testCases.get(length.toLowerCase());
		
		if (noEntries < map.size()) {
			List<Integer> randomNumbers = generateRandom(noEntries, map.size());
			List<ITestCaseConcept> list = new ArrayList<ITestCaseConcept>();

			Iterator<String> uris = map.keySet().iterator();
			int count = 0;
			int left = randomNumbers.size();
			while (uris.hasNext()) {
				if (left == 0) {
					break;
				}
				String uri = uris.next();
				int current = randomNumbers.get(randomNumbers.size() - left);
				if (count == current) {
					List<ITestCaseConcept> testCaseList = map.get(uri);
					list.add(testCaseList.get(0));
					left--;
				}
				
				count++;
			}
			
			testCaseResult.put(ID + "-" + subTestCase, list);
		} else {
			List<ITestCaseConcept> list = new ArrayList<ITestCaseConcept>();
			for (String uri : map.keySet()) {
				List<ITestCaseConcept> testCaseList = map.get(uri);
				list.add(testCaseList.get(0));
			}
			testCaseResult.put(ID + "-" + subTestCase, list);
		}
	}