def unknown_or_range_element(tag)
      element = nil
      range_candidates(tag).each do |range_candidate_tag|
        if de = @elements[range_candidate_tag]
          element = DictionaryElement.new(tag, de.name, de.vrs, de.vm, de.retired)
          break
        end
      end
      # If nothing was matched, we are facing an unknown (but not private) tag:
      element ||= DictionaryElement.new(tag, 'Unknown', ['UN'], '1', '')
    end
def unknown_or_range_element(tag)
      element = nil
      range_candidates(tag).each do |range_candidate_tag|
        if de = @elements[range_candidate_tag]
          element = DictionaryElement.new(tag, de.name, de.vrs, de.vm, de.retired)
          break
        end
      end
      # If nothing was matched, we are facing an unknown (but not private) tag:
      element ||= DictionaryElement.new(tag, 'Unknown', ['UN'], '1', '')
    end
Matches a tag against the possible range tag candidates, and if no match
 is found, returns a dictionary element representing an unknown tag.

 @param [String] tag the element tag
 @return [DictionaryElement] a matched range element or an unknown element