def generated? wme
      return true if generated_wmes.any? { |w| w == wme }
      return children.any? { |t| t.generated? wme }
    end
def generated? wme
      return true if generated_wmes.any? { |w| w == wme }
      return children.any? { |t| t.generated? wme }
    end
for neg feedback loop protection