/**
  * @return a Set of all parts of a body from this rule, not ordered. Use getRulePart for an
  *     ordered List
  */
 public Set<RulePart> getBodyParts() {
   HashSet<RulePart> bodyParts = new HashSet<RulePart>();
   for (RulePart rulePart : rulePartList) {
     if (rulePart.isBody()) bodyParts.add(rulePart);
   }
   return bodyParts;
 }
 /**
  * @return a Set of all parts of a head from this rule, not ordered. Use getRulePart for an
  *     ordered List
  */
 public Set<RulePart> getHeadParts() {
   HashSet<RulePart> headParts = new HashSet<RulePart>();
   for (RulePart rulePart : rulePartList) {
     if (rulePart.isHead()) headParts.add(rulePart);
   }
   return headParts;
 }
 /**
  * @param URI of the part you want to get
  * @return a RulePart, see javadoc
  */
 public RulePart getPart(URI part) {
   for (RulePart rulePart : rulePartList) {
     if (rulePart.getUri().equals(part)) return rulePart;
   }
   return null;
 }
 /**
  * @param URI of a RulePart
  * @return true, if this RulePart is contained in this rule
  */
 public boolean containsPart(URI part) {
   for (RulePart rulePart : rulePartList) {
     if (rulePart.getUri().equals(part)) return true;
   }
   return false;
 }