code: def branch(loader: nil, saver: nil, operations: nil, **other_options)
        options = respond_to?(:options) ? self.options : DEFAULT_OPTIONS
  
        options = options.merge(loader: options[:loader].merge(loader)) if loader
        options = options.merge(saver: options[:saver].merge(saver)) if saver
        options = options.merge(operations: options[:operations] + operations) if operations
        options = options.merge(processor: self::Processor) unless self.is_a?(Builder)
        options = options.merge(other_options)
  
        options.freeze
  
        Builder.new(options)
      end
docs: Creates a new builder object, merging current options with new options.