def adapt_step!(parsed_step)
      # Saving off the original data
      parsed_step['cuke_modeler_parsing_data'] = Marshal::load(Marshal.dump(parsed_step))

      # Removing parsed data for child elements in order to avoid duplicating data
      parsed_step['cuke_modeler_parsing_data'][:data_table] = nil
      parsed_step['cuke_modeler_parsing_data'][:doc_string] = nil

      parsed_step['keyword'] = parsed_step.delete(:keyword)
      parsed_step['name'] = parsed_step.delete(:text)
      parsed_step['line'] = parsed_step.delete(:location)[:line]


      case
        when parsed_step[:doc_string]
          adapt_doc_string!(parsed_step[:doc_string])
          parsed_step['doc_string'] = parsed_step.delete(:doc_string)
        when parsed_step[:data_table]
          adapt_step_table!(parsed_step[:data_table])
          parsed_step['table'] = parsed_step.delete(:data_table)
        else
          # Step has no extra argument
      end
    end
def adapt_step!(parsed_step)
      # Saving off the original data
      parsed_step['cuke_modeler_parsing_data'] = Marshal::load(Marshal.dump(parsed_step))

      # Removing parsed data for child elements in order to avoid duplicating data
      parsed_step['cuke_modeler_parsing_data'][:data_table] = nil
      parsed_step['cuke_modeler_parsing_data'][:doc_string] = nil

      parsed_step['keyword'] = parsed_step.delete(:keyword)
      parsed_step['name'] = parsed_step.delete(:text)
      parsed_step['line'] = parsed_step.delete(:location)[:line]


      case
        when parsed_step[:doc_string]
          adapt_doc_string!(parsed_step[:doc_string])
          parsed_step['doc_string'] = parsed_step.delete(:doc_string)
        when parsed_step[:data_table]
          adapt_step_table!(parsed_step[:data_table])
          parsed_step['table'] = parsed_step.delete(:data_table)
        else
          # Step has no extra argument
      end
    end
Adapts the AST sub-tree that is rooted at the given step node.