    # File lib/chef/node/attribute.rb, line 258
          def get_value(data_hash, key)
            last = nil

            if @current_nesting_level.length == 0
              if data_hash.has_key?(key) && ! data_hash[key].nil?
                return data_hash[key]
              else
                return nil
              end
            end

            0.upto(@current_nesting_level.length) do |i|
              if i == 0
                last = auto_vivifiy(data_hash, @current_nesting_level[i])
              elsif i == @current_nesting_level.length
                fk = last[@current_nesting_level[i - 1]]
                if fk.has_key?(key) && ! fk[key].nil?
                  return fk[key]
                else
                  return nil
                end
              else
                last = auto_vivifiy(last[@current_nesting_level[i - 1]], @current_nesting_level[i])
              end
            end
          end