public static boolean allFunctionsNextP(AllPurposeIterator self) {
    { int cursor = self.iteratorInteger;
      Symbol symbol = null;
      MethodSlot function = null;

      while (cursor < self.iteratorSecondInteger) {
        symbol = ((Symbol)((Stella.$SYMBOL_ARRAY$.theArray)[cursor]));
        if ((symbol != null) &&
            AllPurposeIterator.selectedMetaObjectP(self, Symbol.lookupFunctionHomeModule(symbol))) {
          function = Symbol.lookupFunction(symbol);
          if ((function != null) &&
              ((self.iteratorFilterCode == null) ||
               ((Boolean)(edu.isi.stella.javalib.Native.funcall(self.iteratorFilterCode, null, new java.lang.Object [] {function, self}))).booleanValue())) {
            self.value = function;
            self.iteratorInteger = cursor + 1;
            return (true);
          }
        }
        cursor = cursor + 1;
      }
      return (false);
    }
  }