code: def dispatch_field_uri!(uri, ns=NS_EWS_MESSAGES)
        type = uri.keys.first
        vals = uri[type].is_a?(Array) ? uri[type] : [uri[type]]
        case type
        when :field_uRI, :field_uri
          vals.each do |val|
            value = val.is_a?(Hash) ? val[type] : val
            nbuild[ns].FieldURI('FieldURI' => value)
          end
        when :indexed_field_uRI, :indexed_field_uri
          vals.each do |val|
            nbuild[ns].IndexedFieldURI(
              'FieldURI'   => (val[:field_uRI] || val[:field_uri]),
              'FieldIndex' => val[:field_index]
            )
          end
        when :extended_field_uRI, :extended_field_uri
          vals.each do |val|
            nbuild[ns].ExtendedFieldURI {
              nbuild.parent['DistinguishedPropertySetId'] = val[:distinguished_property_set_id] if val[:distinguished_property_set_id]
              nbuild.parent['PropertySetId'] = val[:property_set_id] if val[:property_set_id]
              nbuild.parent['PropertyTag'] = val[:property_tag] if val[:property_tag]
              nbuild.parent['PropertyName'] = val[:property_name] if val[:property_name]
              nbuild.parent['PropertyId'] = val[:property_id] if val[:property_id]
              nbuild.parent['PropertyType'] = val[:property_type] if val[:property_type]
            }
          end
        else
          raise EwsBadArgumentError, "Bad URI type. #{type}"
        end
      end
docs: A helper to dispatch to a FieldURI, IndexedFieldURI, or an ExtendedFieldURI
   @todo Implement ExtendedFieldURI