public static Iterator allSpecializingDependentPropositions(Stella_Object self, Surrogate relationref) {
    { NamedDescription relation = Logic.getDescription(relationref);

      { AllPurposeIterator self000 = AllPurposeIterator.newAllPurposeIterator();

        self000.iteratorObject = self;
        self000.iteratorConsList = Cons.cons(relation, NamedDescription.allSubrelations(relation, false));
        self000.iteratorNestedIterator = Logic.unfilteredDependentPropositions(self, relationref).allocateIterator();
        self000.iteratorNextCode = Native.find_java_method("edu.isi.powerloom.logic.Logic", "allSpecializingDependentPropositionsNextP", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.AllPurposeIterator")});
        { AllPurposeIterator value000 = self000;

          return (value000);
        }
      }
    }
  }