/// <summary>
 /// Construct an InstrumentDescriptor object with the four strings that make up the
 /// necessary information
 /// </summary>
 /// <param name="market">Market for the requested instrument (i.e. "CME")</param>
 /// <param name="productType">Product type for the requested instrument (i.e. "FUTURE")</param>
 /// <param name="product">Product for the requested instrument (i.e. "CL")</param>
 /// <param name="contract">Contract for the requested instrument (i.e. "Nov12")</param>
 public EZInstrumentDescriptor(string market, string productType, string product, string contract) : this()
 {
     MarketName = market;
     ProductTypeName = productType;
     ProductName = product;
     ContractName = contract;
     
     ProductKey = new ezProductKey(MarketName, ProductTypeName, ProductName);
 }
 /// <summary>
 /// Create an InstrumentDescriptor using a single string containing all the required
 /// information (with the "|" char as the separator).
 /// </summary>
 /// <param name="descriptor"></param>
 /// <example>InstrumentDescriptor id = new InstrumentDescriptor("CME|FUTURE|HG|Dec12")</example>
 public EZInstrumentDescriptor(string descriptor) : this()
 {
     string[] items = descriptor.Split('|');
     MarketName = items[0].Trim();
     ProductTypeName = items[1].Trim();
     ProductName = items[2].Trim();
     ContractName = items[3].Trim();
     
     ProductKey = new ezProductKey(MarketName, ProductTypeName, ProductName);
 }