private void WriteStream(string parameter, IGeometryDataCollection collection, bool parameterized)
        {
            Array data = null;

            if (parameterized)
            {
                ParameterizedCollection reader = collection as ParameterizedCollection;
                if (null != reader)
                {
                    data = reader.ToParameterizedArray();
                }
            }
            else
            {
                data = collection.ToArray();
            }

            WriteObject(parameter, data);
        }
 /// <summary>
 /// To be used for reading/de-serializating parameterized data
 /// </summary>
 /// <param name="data">Parameterized data to deserialize from</param>
 public GeometryDataSerializer(Dictionary <string, object> data)
 {
     mData = new ParameterizedCollection(data);
 }
 /// <summary>
 /// To be used for serialization of data
 /// </summary>
 public GeometryDataSerializer()
 {
     mData = new ParameterizedCollection();
 }
 /// <summary>
 /// To be used for reading/de-serializating data
 /// </summary>
 /// <param name="data">Data to deserialize from</param>
 public GeometryDataSerializer(Array data)
 {
     mData = new SerialDataReader(data);
 }