code: public List<KbPredicate> getMethodPredicates() {
      Set<KbPredicate> set = new HashSet<KbPredicate>();
      for (MethodObj method : getMethods()) {
        set.add(method.getPredicate());
      }
      List<KbPredicate> list = new ArrayList(set);
      Collections.sort(list, new Comparator<KbPredicate>() {
        @Override
        public int compare(KbPredicate o1, KbPredicate o2) {
          if ((o2 == null) || !(o2 instanceof KbPredicate)) {
            return 1;
          }
          return o1.toString().compareTo(o2.toString());
        }
      });
      return list;
    }
docs: This returns an ordered list of the Predicates which underly the class's
  MethodObjs, with no duplicate elements. This is valuable because a single
  predicate may be the basis for multiple MethodObjs (getters, setters, etc.)
  
  @return