public CalendarFile Deserialize(Stream inStream)
        {
            string foldedContent;

            // read text from stream (converts UTF-8 to Unicode)
            using (var reader = new StreamReader(inStream, Encoding.UTF8))
            {
                foldedContent = reader.ReadToEnd();
            }

            // unfold content
            string unfoldedContent = FoldHelper.UnfoldContent(foldedContent);

            // parse content and retrieve the object tree
            var calendar = ObjectSerializer.Deserialize <CalendarFile>(unfoldedContent);

            return(calendar);
        }