public static List<Rule> generateRulesForRole(RoleType role)
	{
		// For all the powers and commitments 
		// of the roles of an org, generate the rules
		
		List<Rule> rules = new ArrayList<Rule>();
		
		//Translate Powers
		List<PowerType> powers = role.getPower();
		for (PowerType power : powers) {
			Rule rule = new Rule();
			rule.setDesc("Power: "+power.getDesc());
			List<AuthorizationType> auths = power.getAuthorization();
			for (AuthorizationType auth: auths)
			{
				EventType event = auth.getAction();
				rule.addAntecedent(event);
			}
			
			EventType event = power.getAction();
			rule.addConsequent(event);
			rules.add(rule);
		}

		
		// Translate Commitments
				
		List<CommitmentType> commitments = role.getCommitment();
		for (CommitmentType commitment : commitments) {
			Rule rule = new Rule();
			rule.setDesc("Commitment: "+ commitment.getDesc());
			List<EventType> antes = commitment.getAntecedent();
			for (EventType ante: antes)
			{
				rule.addAntecedent(ante);
			}
			
			List<EventType> conseqs = commitment.getConsequent();
			for (EventType cons: conseqs)
			{
				rule.addConsequent(cons);
			}
			
			rules.add(rule);
		}
		
		//Translate Prohibitions
		List<ProhibitionType> prohibitions= role.getProhibition();
		for (ProhibitionType prohibition : prohibitions) {
			Rule rule = new Rule();
			rule.setDesc("Prohibition: "+ prohibition.getDesc());
			List<EventType> antes = prohibition.getAction();
			for (EventType ante: antes)
			{
				rule.addAntecedent(ante);
			}
			
			List<EventType> conseqs = prohibition.getSanction();
			for (EventType cons: conseqs)
			{
				rule.addConsequent(cons);
			}
			
			rules.add(rule);
		}
		return rules;
	}