public static void deleteRuleCachesOnRelation(Relation relation) {
    { Proposition rule = null;
      Cons iter000 = Logic.callGetRules(relation);

      for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
        rule = ((Proposition)(iter000.value));
        { Stella_Object arg = null;
          Vector vector000 = rule.arguments;
          int index000 = 0;
          int length000 = vector000.length();

          for (;index000 < length000; index000 = index000 + 1) {
            arg = (vector000.theArray)[index000];
            if (((Description)(arg)).queryPatterns != null) {
              { KvListIterator it = ((KvListIterator)(((Description)(arg)).queryPatterns.allocateIterator()));

                while (it.nextP()) {
                  it.valueSetter(null);
                }
              }
            }
          }
        }
      }
    }
  }