если я вас правильно понял, вы хотите получить историю статуса правила.
тогда, возможно, это могло бы помочь:
Map<Rule( or ruleName as String), List<Boolean>>
ключом на этой карте является объект правила или, например, Строка указывает, какое правило. значение представляет собой список (например, ArrayList), хранящий историю состояний. например:
{"rule1":[True, False,True] //1st,2nd,3rd(current) status
"rule2":[True,False]
...
}
таким образом, если вы хотите получить всю историю статуса правила по
List<Boolean> history = map.get("someRule")
тогда вы можете добавить новый статус или получить определенный статус, играя со списком.
если вам нужны только предварительные и текущие значения, вы можете объявить список с начальной емкостью.