def expand_dl(opts)
      opts = opts.clone
      req = build_soap! do |type, builder|
        if(type == :header)
        else
        builder.nbuild.ExpandDL {|x|
          x.parent.default_namespace = @default_ns
          x.Mailbox {|mb|
            key = :email_address
            mb[NS_EWS_TYPES].EmailAddress(opts[key]) if opts[key]
            builder.item_id! if opts[:item_id]
          }
        }
        end
      end
      do_soap_request(req)
    end
def expand_dl(opts)
      opts = opts.clone
      req = build_soap! do |type, builder|
        if(type == :header)
        else
        builder.nbuild.ExpandDL {|x|
          x.parent.default_namespace = @default_ns
          x.Mailbox {|mb|
            key = :email_address
            mb[NS_EWS_TYPES].EmailAddress(opts[key]) if opts[key]
            builder.item_id! if opts[:item_id]
          }
        }
        end
      end
      do_soap_request(req)
    end
------------ Utility Operations ------------
 Exposes the full membership of distribution lists.
 @see http://msdn.microsoft.com/en-us/library/aa494152.aspx ExpandDL

 @todo Fully support all of the ExpandDL operations. Today it just supports
   taking an e-mail address as an argument
 @param [Hash] opts
 @option opts [String] :email_address The e-mail address of the
   distribution to resolve
 @option opts [Hash] :item_id The ItemId of the private distribution to resolve.
   {:id => 'my id'}