def massage_structured(get_args, ref)
      # Nothing to do unless nxapi_structured.
      return [get_args, ref] unless
        ref.hash['get_data_format'] == :nxapi_structured

      # The CmdRef object will contain a get_value Array with 2 values.
      # The first value is the key to identify the correct row in the table
      # of structured output and the second is the key to identify the data
      # to retrieve.
      #
      # Example: Get vlanshowbr-vlanname in the row that contains a specific
      #  vlan_id.
      # "get_value"=>["vlanshowbr-vlanid-utf <vlan_id>", "vlanshowbr-vlanname"]
      #
      # TBD: Why do we need to check is_a?(Array) here?
      if ref.hash['get_value'].is_a?(Array) && ref.hash['get_value'].size >= 2
        # Replace the get_value hash entry with the value after any tokens
        # specified in the yaml file have been replaced and set get_args[:value]
        # to nil so that the structured table data can be retrieved properly.
        ref.hash['get_value'] = get_args[:value]
        ref.hash['drill_down'] = true
        get_args[:value] = nil
        cache_flush
      end
      [get_args, ref]
    end
def massage_structured(get_args, ref)
      # Nothing to do unless nxapi_structured.
      return [get_args, ref] unless
        ref.hash['get_data_format'] == :nxapi_structured

      # The CmdRef object will contain a get_value Array with 2 values.
      # The first value is the key to identify the correct row in the table
      # of structured output and the second is the key to identify the data
      # to retrieve.
      #
      # Example: Get vlanshowbr-vlanname in the row that contains a specific
      #  vlan_id.
      # "get_value"=>["vlanshowbr-vlanid-utf <vlan_id>", "vlanshowbr-vlanname"]
      #
      # TBD: Why do we need to check is_a?(Array) here?
      if ref.hash['get_value'].is_a?(Array) && ref.hash['get_value'].size >= 2
        # Replace the get_value hash entry with the value after any tokens
        # specified in the yaml file have been replaced and set get_args[:value]
        # to nil so that the structured table data can be retrieved properly.
        ref.hash['get_value'] = get_args[:value]
        ref.hash['drill_down'] = true
        get_args[:value] = nil
        cache_flush
      end
      [get_args, ref]
    end
The yaml file may specifiy an Array as the get_value to drill down into
 nxapi_structured table output.  The table may contain multiple rows but
 only one of the rows has the interesting data.