public static void htmlDescribeInstance(LogicObject instance, org.powerloom.PrintableStringWriter stream) {
    if (!(instance != null)) {
      return;
    }
    { String namestring = Logic.objectNameString(instance);

      synchronized (Logic.$POWERLOOM_LOCK$) {
        { Object old$Context$000 = Stella.$CONTEXT$.get();
          Object old$Module$000 = Stella.$MODULE$.get();

          try {
            Native.setSpecial(Stella.$CONTEXT$, Logic.getQueryContext());
            Native.setSpecial(Stella.$MODULE$, ((Context)(Stella.$CONTEXT$.get())).baseModule);
            Logic.elaborateInstance(instance);

          } finally {
            Stella.$MODULE$.set(old$Module$000);
            Stella.$CONTEXT$.set(old$Context$000);
          }
        }
      }
      OntosaurusUtil.htmlDescribeLocation(instance, stream);
      OntosaurusUtil.htmlDescribeContextView(instance, stream);
      OntosaurusUtil.htmlDisplaySynonyms(instance, stream);
      OntosaurusUtil.htmlDisplayImages(instance, stream);
      OntosaurusUtil.htmlDisplayDocumentation(instance, stream);
      OntosaurusUtil.htmlDescribeTypes("Types", namestring, instance, stream, true);
      { Object old$Context$001 = Stella.$CONTEXT$.get();
        Object old$Module$001 = Stella.$MODULE$.get();

        try {
          Native.setSpecial(Stella.$CONTEXT$, Logic.getQueryContext());
          Native.setSpecial(Stella.$MODULE$, ((Context)(Stella.$CONTEXT$.get())).baseModule);
          OntosaurusUtil.htmlDescribeFacts("Facts", namestring, instance, stream, false, true);

        } finally {
          Stella.$MODULE$.set(old$Module$001);
          Stella.$CONTEXT$.set(old$Context$001);
        }
      }
      return;
    }
  }