Обратите внимание, что setChildRules()
(вероятно) не создает копию Set
, на которую ссылается ruleSet
. Он просто копирует («запоминает») ссылку на этот Set
. Если позже вы измените , что Set
(например, вызов clear()
), тогда это будет видно каждому , у которого есть ссылка на этот Set
.
Это кажется , как будто вы хотите, чтобы каждый элемент в parentChildrenList2
имел свой Set
. Таким образом, вам необходимо заменить ruleSet.clear()
на ruleSet = new HashSet()
(или любой другой тип, который вы использовали).