def process_data(old_data, new_data)
      logger.debug { "Master stacks: #{old_data.keys.join(",")} YAML stacks: #{new_data.keys.join(",")}" }

      new_data.reverse_each do |stackname, data|
        spinner "Processing stack #{pastel.cyan(stackname)}"
        process_stack_data(stackname, data, old_data)
        hint_on_validation_notifications(reader.notifications, reader.loader.source)
        abort_on_validation_errors(reader.errors, reader.loader.source)
      end

      old_set = Kontena::Stacks::StackDataSet.new(old_data)
      new_set = Kontena::Stacks::StackDataSet.new(new_data)
      if skip_dependencies?
        [old_set, new_set].each(&:remove_dependencies)
      end
      spinner "Analyzing upgrade" do
        Kontena::Stacks::ChangeResolver.new(old_set, new_set)
      end
    end
def process_data(old_data, new_data)
      logger.debug { "Master stacks: #{old_data.keys.join(",")} YAML stacks: #{new_data.keys.join(",")}" }

      new_data.reverse_each do |stackname, data|
        spinner "Processing stack #{pastel.cyan(stackname)}"
        process_stack_data(stackname, data, old_data)
        hint_on_validation_notifications(reader.notifications, reader.loader.source)
        abort_on_validation_errors(reader.errors, reader.loader.source)
      end

      old_set = Kontena::Stacks::StackDataSet.new(old_data)
      new_set = Kontena::Stacks::StackDataSet.new(new_data)
      if skip_dependencies?
        [old_set, new_set].each(&:remove_dependencies)
      end
      spinner "Analyzing upgrade" do
        Kontena::Stacks::ChangeResolver.new(old_set, new_set)
      end
    end
Preprocess data and return a ChangeResolver
 @param old_data [Hash] data from master
 @param new_data [Hash] data from files
 @return [Kontena::Cli::Stacks::ChangeRsolver]