/// <summary>
        /// 
        /// </summary>
        /// <param name="person"></param>
        public static void SerializeSharpSerializerXml(Person p)
        {
            // create instance of sharpSerializer
            // true - binary serialization, false - xml serialization
            var serializer = new Polenter.Serialization.SharpSerializer(false);

            // serialize
            serializer.Serialize(p, Path.Combine(path_root, "Person.SharpSerializer.xml"));

            return;
        }
        public static void SerializeXmlSerializer(Person p)
        {
            using (var ms = new MemoryStream())
            {
                var ser = new System.Xml.Serialization.XmlSerializer(typeof(Person));
                ser.Serialize(ms, p);

                Write(ms, "Person.xml");
            }

            return;
        }
        public static void SerializeBinaryFormatter(Person p)
        {
            // using (var ms = new MemoryStream())
            // {
            // 	var ser = new System.Runtime.Serialization.ormatters.Binary.BinaryFormatter();
            // 	ser.Serialize(ms, p);
            //
            // 	Write(ms, "Person.bin");
            // }

            return;
        }
        //-------------------------------------------------------------------------
        private void UIFromObject()
        {
            // difficult to port (iOS especially)
            object o = comboBoxFormats.SelectedItem;

            if (null == o)
            {
                UIReset();
                return;
            }
            else
            {
                string name = o.ToString();

                switch (name)
                {
                    case "Binary Formatter":
                        person = ControllerPersonOperations.DeserializeBinaryFormatter();
                        break;
                    case "XmlSerializer":
                        person = ControllerPersonOperations.DeserializeXmlSerializer();
                        break;
                    case "SharpSerializer Binary":
                        person = ControllerPersonOperations.DeserializeSharpSerializerBinary();
                        break;
                    case "SharpSerializer Xml":
                        person = ControllerPersonOperations.DeserializeSharpSerializerXml();
                        break;
                    default:
                        return;
                    //break;
                }
            }

            if (null == person)
            {
                UIReset();
            }
            else
            {
                UISet(person);
            }

            return;
        }
        //-------------------------------------------------------------------------
        private Person UIToObject()
        {
            object o = comboBoxFormats.SelectedItem;

            if (null == o)
            {
                return person;
            }
            else
            {
                string name = o.ToString();

                DateTime dob = DateTime.Now;
                DateTime.TryParse(this.dateTimePicker1.Text, out dob);

                person = new Person()
                {
                  NameFirst = this.textBoxNameFirst.Text
                , NameLast = this.textBoxNameLast.Text
                , DateOfBirth = dob
                };

                switch (name)
                {
                    case "Binary Formatter":
                        ControllerPersonOperations.SerializeBinaryFormatter(person);
                        break;
                    case "XmlSerializer":
                        ControllerPersonOperations.SerializeXmlSerializer(person);
                        break;
                    case "SharpSerializer Binary":
                        ControllerPersonOperations.SerializeSharpSerializerBinary(person);
                        break;
                    case "SharpSerializer Xml":
                        ControllerPersonOperations.SerializeSharpSerializerXml(person);
                        break;
                    default:
                        break;
                }
            }

            return person;
        }
        //-------------------------------------------------------------------------
        private void UISet(Person p)
        {
            this.textBoxNameFirst.Text = person.NameFirst;
            this.textBoxNameLast.Text = person.NameLast;
            this.textBoxAge.Text = person.Age.ToString();
            this.dateTimePicker1.Text = person.DateOfBirth.ToString();

            return;
        }
        public static void SerializeBinaryFormatter(Person p)
        {
            using (var ms = new MemoryStream())
            {
                var ser = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
                ser.Serialize(ms, p);

                Write(ms, Path.Combine(path_root, "Person.bin"));
            }

            return;
        }