def rollup_messages
      [].tap do |messages|
        messages << message if message.present?
        children&.pluck(:message)&.uniq&.each do |child_message|
          messages << child_message if child_message.present?
        end
      end
    end
def rollup_messages
      [].tap do |messages|
        messages << message if message.present?
        children&.pluck(:message)&.uniq&.each do |child_message|
          messages << child_message if child_message.present?
        end
      end
    end
Roll up messages for an operation and all of its children