public static void initializeIncrementalPartialMatch(IncrementalPartialMatch self) {
    { ControlFrame frame = self.controlFrame;
      Keyword kind = self.kind;

      if (kind == Logic.KWD_AND) {
        { double argumentweight = Stella.NULL_FLOAT;
          double totalweight = 0.0;
          int nofweightedargs = 0;

          { Proposition arg = null;
            Vector vector000 = ((Vector)(frame.proposition.arguments));
            int index000 = 0;
            int length000 = vector000.length();

            for (;index000 < length000; index000 = index000 + 1) {
              arg = ((Proposition)((vector000.theArray)[index000]));
              if ((arg.kind == Logic.KWD_AND) &&
                  (((FloatWrapper)(KeyValueList.dynamicSlotValue(arg.dynamicSlots, Logic.SYM_LOGIC_WEIGHT, Stella.NULL_FLOAT_WRAPPER))).wrapperValue == Stella.NULL_FLOAT)) {
                nofweightedargs = 0;
                { Proposition subarg = null;
                  Vector vector001 = ((Vector)(arg.arguments));
                  int index001 = 0;
                  int length001 = vector001.length();

                  for (;index001 < length001; index001 = index001 + 1) {
                    subarg = ((Proposition)((vector001.theArray)[index001]));
                    if ((self.propositionWeight(subarg) == Stella.NULL_FLOAT) ||
                        (self.propositionWeight(subarg) > 0.0)) {
                      nofweightedargs = nofweightedargs + 1;
                    }
                  }
                }
                argumentweight = 1.0 * nofweightedargs;
                KeyValueList.setDynamicSlotValue(arg.dynamicSlots, Logic.SYM_LOGIC_WEIGHT, FloatWrapper.wrapFloat(argumentweight), Stella.NULL_FLOAT_WRAPPER);
              }
              else {
                argumentweight = self.propositionWeight(arg);
              }
              totalweight = totalweight + argumentweight;
            }
          }
          if (totalweight > 0.0) {
            self.totalWeight = totalweight;
          }
          else {
            self.totalWeight = ((double)(frame.proposition.arguments.length()));
          }
        }
      }
      else {
      }
      PartialMatchFrame.linkToParentPartialMatchFrame(self);
    }
  }