public static Vector createInputSignature(Cons consQuery) {
    { QueryIterator query = Logic.makeQuery(Stella.NIL, ((Cons)(Stella_Object.copyConsTree(consQuery))), Stella.NIL, Stella.NIL);
      IncrementalPartialMatch pmf = null;
      Cons argScores = Stella.NIL;
      Vector signature = null;

      Logic.$FAIL_UNBOUND_CLAUSESp$ = true;
      query.options.insertAt(Logic.KWD_MATCH_MODE, Logic.KWD_BASIC);
      query.options.insertAt(Logic.KWD_MAXIMIZE_SCOREp, Stella.TRUE_WRAPPER);
      Logic.callAskPartial(query);
      pmf = ((IncrementalPartialMatch)(query.baseControlFrame.partialMatchFrame.child.child));
      argScores = pmf.argumentScores;
      signature = Vector.newVector(argScores.length());
      { Stella_Object score = null;
        Cons iter000 = argScores.reverse();
        int i = Stella.NULL_INTEGER;
        int iter001 = 0;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest, iter001 = iter001 + 1) {
          score = iter000.value;
          i = iter001;
          if (Stella_Object.eqlP(score, FloatWrapper.wrapFloat(1.0))) {
            (signature.theArray)[i] = (IntegerWrapper.wrapInteger(1));
          }
          else {
            (signature.theArray)[i] = (IntegerWrapper.wrapInteger(0));
          }
        }
      }
      return (signature);
    }
  }