public Surrogate descriptionSurrogate() {
    { Description self = this;

      { Relation nativerelation = self.nativeRelation();

        if (nativerelation != null) {
          { Surrogate testValue000 = Stella_Object.safePrimaryType(nativerelation);

            if (Surrogate.subtypeOfClassP(testValue000)) {
              { Stella_Class nativerelation000 = ((Stella_Class)(nativerelation));

                return (Logic.classLogicalType(nativerelation000));
              }
            }
            else if (Surrogate.subtypeOfP(testValue000, Logic.SGT_STELLA_SLOT)) {
              { Slot nativerelation000 = ((Slot)(nativerelation));

                return (nativerelation000.slotSlotref);
              }
            }
            else {
            }
          }
        }
        return (null);
      }
    }
  }