/** @apilevel internal */
 private SimpleSet ancestorMethods_compute(String signature) {
   SimpleSet set = SimpleSet.emptySet;
   for (Iterator outerIter = superinterfacesIterator(); outerIter.hasNext(); ) {
     TypeDecl typeDecl = (TypeDecl) outerIter.next();
     for (Iterator iter = typeDecl.methodsSignature(signature).iterator(); iter.hasNext(); ) {
       MethodDecl m = (MethodDecl) iter.next();
       set = set.add(m);
     }
   }
   if (!superinterfacesIterator().hasNext()) {
     for (Iterator iter = typeObject().methodsSignature(signature).iterator(); iter.hasNext(); ) {
       MethodDecl m = (MethodDecl) iter.next();
       if (m.isPublic()) set = set.add(m);
     }
   }
   return set;
 }
 /** @apilevel internal */
 private HashMap methodsSignatureMap_compute() {
   HashMap map = new HashMap(localMethodsSignatureMap());
   for (Iterator outerIter = superinterfacesIterator(); outerIter.hasNext(); ) {
     TypeDecl typeDecl = (TypeDecl) outerIter.next();
     for (Iterator iter = typeDecl.methodsIterator(); iter.hasNext(); ) {
       MethodDecl m = (MethodDecl) iter.next();
       if (!m.isPrivate()
           && m.accessibleFrom(this)
           && !localMethodsSignatureMap().containsKey(m.signature()))
         putSimpleSetElement(map, m.signature(), m);
     }
   }
   for (Iterator iter = typeObject().methodsIterator(); iter.hasNext(); ) {
     MethodDecl m = (MethodDecl) iter.next();
     if (m.isPublic() && !map.containsKey(m.signature()))
       putSimpleSetElement(map, m.signature(), m);
   }
   return map;
 }