public static void finalizeClasses() {
    if (!Stella.$NEWLY_UNFINALIZED_CLASSESp$) {
      return;
    }
    { boolean hierarchymighthavechangedP = false;

      Stella.$UNFINALIZED_CLASSES$.removeDeletedMembers();
      Stella.resolveChildrenReferences();
      { Stella_Class renamed_Class = null;
        Cons iter000 = Stella.$UNFINALIZED_CLASSES$.theConsList;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
          renamed_Class = ((Stella_Class)(iter000.value));
          if ((!renamed_Class.classFinalizedP) &&
              (!BooleanWrapper.coerceWrappedBooleanToBoolean(renamed_Class.badP()))) {
            Stella_Class.finalizeClass(renamed_Class);
            hierarchymighthavechangedP = true;
          }
        }
      }
      if (hierarchymighthavechangedP) {
        TaxonomyGraph.finalizeTaxonomyGraph(Stella.$CLASS_TAXONOMY_GRAPH$);
      }
    }
  }