public boolean objectEqualP(Stella_Object y) {
    { Set x = this;

      if (Surrogate.subtypeOfP(Stella_Object.safePrimaryType(y), Stella.SGT_STELLA_SET)) {
        { Set y000 = ((Set)(y));

          { boolean testValue000 = false;

            testValue000 = x.length() == y000.length();
            if (testValue000) {
              { boolean alwaysP000 = true;

                { Stella_Object eltx = null;
                  ListIterator iter000 = ((ListIterator)(x.allocateIterator()));

                  loop000 : while (iter000.nextP()) {
                    eltx = iter000.value;
                    { boolean testValue001 = false;

                      { boolean foundP000 = false;

                        { Stella_Object elty = null;
                          ListIterator iter001 = ((ListIterator)(y000.allocateIterator()));

                          loop001 : while (iter001.nextP()) {
                            elty = iter001.value;
                            if (Stella_Object.equalP(eltx, elty)) {
                              foundP000 = true;
                              break loop001;
                            }
                          }
                        }
                        testValue001 = foundP000;
                      }
                      testValue001 = !testValue001;
                      if (testValue001) {
                        alwaysP000 = false;
                        break loop000;
                      }
                    }
                  }
                }
                testValue000 = alwaysP000;
              }
            }
            { boolean value000 = testValue000;

              return (value000);
            }
          }
        }
      }
      else {
      }
      return (false);
    }
  }