protected Rules processRules(Element element,RuleDefinitionInterface currentRuleDefn){
		Rules rules=(Rules)Factory.getFactory().getDataObject(Factory.ObjectTypes.Rules);
		rules.setName(element.getAttribute("name"));
		
		rules.setChange(Change.getInstance(element.getAttribute("change")));
		rules.setOnType(SchemaTypes.getInstance(element.getAttribute("on")));
		NodeList inludes=element.getElementsByTagName("include");
		if(inludes!=null){
			for(int i=0;i<inludes.getLength();i++){
				Element include=(Element)inludes.item(i);
				if(include.hasAttribute("rules")){
					rules.addIncludes(include.getAttribute("rules"));
				}
				if(include.hasAttribute("ruleset")){
					if(currentRuleDefn.getRuleSets()!=null && currentRuleDefn.getRuleSets().containsKey(include.getAttribute("ruleset"))){
						rules.addRulesSets(currentRuleDefn.getRuleSets().get(include.getAttribute("ruleset")));
					}
				}
			}
		}
		return rules;
		
	}