public static void printKifDescription(Description self) {
    { Object old$Queryiterator$000 = Logic.$QUERYITERATOR$.get();

      try {
        Native.setSpecial(Logic.$QUERYITERATOR$, null);
        { OutputStream stream = ((OutputStream)(Logic.$PRINTLOGICALFORMSTREAM$.get()));
          Description complement = ((Description)(KeyValueList.dynamicSlotValue(self.dynamicSlots, Logic.SYM_LOGIC_COMPLEMENT_DESCRIPTION, null)));

          if (self.surrogateValueInverse != null) {
            stream.nativeStream.print(Logic.stringifiedSurrogate(self.surrogateValueInverse));
          }
          else if ((complement != null) &&
              ((complement.surrogateValueInverse != null) &&
               (!((((Keyword)(Logic.$PRINTMODE$.get())) == Logic.KWD_REALISTIC) ||
              (((Keyword)(Logic.$PRINTMODE$.get())) == Logic.KWD_ORIGINAL))))) {
            stream.nativeStream.print("not-" + Logic.stringifiedSurrogate(complement.surrogateValueInverse));
          }
          else {
            stream.nativeStream.print("(" + Logic.stringifiedSurrogate(Logic.SGT_PL_KERNEL_KB_KAPPA) + " ");
            Logic.printKifQuantifiedVariables(self.ioVariables, true);
            stream.nativeStream.print(" ");
            Description.printKifDescriptionProposition(self, false);
            stream.nativeStream.print(")");
          }
        }

      } finally {
        Logic.$QUERYITERATOR$.set(old$Queryiterator$000);
      }
    }
  }