public static TruthValue vectorSatisfiesDescriptionP(Vector vector, Description description) {
    if (!(vector.length() == description.arity())) {
      if (((Boolean)(Logic.$REVERSEPOLARITYp$.get())).booleanValue()) {
        return (Logic.TRUE_TRUTH_VALUE);
      }
      else {
        return (Logic.FALSE_TRUTH_VALUE);
      }
    }
    if (((Boolean)(Logic.$REVERSEPOLARITYp$.get())).booleanValue()) {
      return (Logic.UNKNOWN_TRUTH_VALUE);
    }
    try {
      { boolean alwaysP000 = true;

        { Stella_Object value = null;
          Vector vector000 = vector;
          int index000 = 0;
          int length000 = vector000.length();

          loop000 : for (;index000 < length000; index000 = index000 + 1) {
            value = (vector000.theArray)[index000];
            if (!(value != null)) {
              alwaysP000 = false;
              break loop000;
            }
          }
        }
        if (alwaysP000) {
          return (Logic.callAsk(Description.createQueryIterator(description, vector)));
        }
      }
    } catch (LogicException e) {
      Stella.STANDARD_ERROR.nativeStream.print(Stella.exceptionMessage(e));
    }
    return (Logic.UNKNOWN_TRUTH_VALUE);
  }