def adapt_feature!(parsed_feature, gathered_comments)
      # Saving off the original data
      parsed_feature['cuke_modeler_parsing_data'] = Marshal::load(Marshal.dump(parsed_feature))

      # Removing parsed data for child elements in order to avoid duplicating data
      parsed_feature['cuke_modeler_parsing_data']['tags'] = nil
      parsed_feature['cuke_modeler_parsing_data']['elements'] = nil

      if parsed_feature['comments']
        parsed_feature['cuke_modeler_parsing_data']['comments'] = nil
        gathered_comments.concat(parsed_feature['comments'])
      end

      adapt_child_elements!(parsed_feature, gathered_comments)

      if parsed_feature['tags']
        parsed_feature['tags'].each do |tag|
          adapt_tag!(tag)
        end
      end
    end
def adapt_feature!(parsed_feature, gathered_comments)
      # Saving off the original data
      parsed_feature['cuke_modeler_parsing_data'] = Marshal::load(Marshal.dump(parsed_feature))

      # Removing parsed data for child elements in order to avoid duplicating data
      parsed_feature['cuke_modeler_parsing_data']['tags'] = nil
      parsed_feature['cuke_modeler_parsing_data']['elements'] = nil

      if parsed_feature['comments']
        parsed_feature['cuke_modeler_parsing_data']['comments'] = nil
        gathered_comments.concat(parsed_feature['comments'])
      end

      adapt_child_elements!(parsed_feature, gathered_comments)

      if parsed_feature['tags']
        parsed_feature['tags'].each do |tag|
          adapt_tag!(tag)
        end
      end
    end
Adapts the AST sub-tree that is rooted at the given feature node.