public static AtomicGoalCacheIterator allCachedPropositions(ControlFrame goal) {
    { Proposition proposition = goal.proposition;
      GeneralizedSymbol operator = proposition.operator;
      AtomicGoalCache cachelist = Proposition.getGoalCacheList(proposition);

      while ((cachelist != null) &&
          (!(cachelist.proposition.operator == operator))) {
        cachelist = cachelist.next;
      }
      Proposition.setGoalCacheList(proposition, cachelist);
      { AtomicGoalCacheIterator self000 = AtomicGoalCacheIterator.newAtomicGoalCacheIterator();

        self000.goal = goal;
        self000.cacheList = cachelist;
        { AtomicGoalCacheIterator value000 = self000;

          return (value000);
        }
      }
    }
  }