@SuppressWarnings("unchecked")
	private ArrayList<Rule> parseRules(Map<String, Object> configMap, String ruleType) throws FileNotFoundException {
		ArrayList<Rule> result = new ArrayList<Rule>();

		List<Object> ruleList = (List<Object>) configMap.get(ruleType);
		for (Object r : ruleList) {
			Map<String, Object> ruleEntry = (Map<String, Object>) r;
			String src = null;
			String dest = null;
			String kind = null;
			Integer seqNum = null;
			Boolean dup = null;
			if (ruleEntry.get("src") != null)
				src = ruleEntry.get("src").toString();
			if (ruleEntry.get("dest") != null)
				dest = ruleEntry.get("dest").toString();
			if (ruleEntry.get("kind") != null)
				kind = ruleEntry.get("kind").toString();
			if (ruleEntry.get("seqNum") != null)
				seqNum = Integer.parseInt(ruleEntry.get("seqNum").toString());
			if (ruleEntry.get("duplicate") != null)
				dup = Boolean.parseBoolean(ruleEntry.get("duplicate").toString());
			Rule rule = new Rule(ruleEntry.get("action").toString(), src, dest, kind, seqNum, dup);
			result.add(rule);
		}
		return result;
	}