* @param superobject
   * @return TruthValue
   */
  public static TruthValue specializesP(Stella_Object subobject, Stella_Object superobject) {
    { Description subdescription = Logic.coerceToDescription(subobject, null);
      Description superdescription = Logic.coerceToDescription(superobject, null);

      Logic.finalizeObjects();
      { Object old$Context$000 = Stella.$CONTEXT$.get();

        try {
          Native.setSpecial(Stella.$CONTEXT$, Logic.getInferenceCache(((Module)(Stella.$MODULE$.get())), Logic.KWD_META));
          if ((subdescription != null) &&
              (superdescription != null)) {
            return (Description.descriptionSpecializesDescriptionP(subdescription, superdescription));
          }

        } finally {
          Stella.$CONTEXT$.set(old$Context$000);
        }
      }
      return (Logic.UNKNOWN_TRUTH_VALUE);
    }
  }