You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: multiline_argument.rb
    path of file: ./repos/cucumber-ruby/lib/cucumber
    
    the code of the file until where you have to start completion: # frozen_string_literal: true

require 'delegate'
require 'cucumber/multiline_argument/data_table'
require 'cucumber/multiline_argument/doc_string'

module Cucumber
  module MultilineArgument
    class << self
      def from_core(node)
        builder.wrap(node)
      end

      def from(argument, location = nil, content_type = nil)
        location ||= Core::Test::Location.of_caller
        case argument
        when String
          builder.doc_string(Core::Test::D
    
      def from(argument, location = nil, content_type = nil)
        location ||= Core::Test::Location.of_caller
        case argument
        when String
          builder.doc_string(Core::Test::DocString.new(argument, content_type))
        when Array
          location = location.on_line(argument.first.line..argument.last.line)
          builder.data_table(argument.map(&:cells), location)
        when DataTable, DocString, None
          argument
        when nil
          None.new
        else
          raise ArgumentError, "Don't know how to convert #{argument.class} #{argument.inspect} into a MultilineArgument"
        end