public IFileInfo GetFileInfo(string path)
        {
            var dirPath  = Path.GetDirectoryName(path);
            var fileName = Path.GetFileName(path);
            var dir      = GetDirectoryInfo(dirPath);
            var file     = dir.GetFiles().FirstOrDefault(item => string.Equals(fileName, item.Name, StringComparison.OrdinalIgnoreCase));

            if (file == null)
            {
                if (path.StartsWith("sdata:\\attachments", StringComparison.OrdinalIgnoreCase))
                {
                    var attachment = new Attachment {
                        FileName = fileName
                    };
                    file = new AttachmentFileInfo(_client, _formMode, dir, attachment);
                }
                else
                {
                    var document = new LibraryDocument
                    {
                        FileName  = fileName,
                        Directory = new SDataResource {
                            Key = ((LibraryDirectory)((IResourceHolder)dir).Resource).Key
                        }
                    };
                    file = new LibraryFileInfo(_client, _formMode, dir, document);
                }
            }

            return(file);
        }
        public IFileInfo GetFileInfo(string path)
        {
            var dirPath = Path.GetDirectoryName(path);
            var fileName = Path.GetFileName(path);
            var dir = GetDirectoryInfo(dirPath);
            var file = dir.GetFiles().FirstOrDefault(item => string.Equals(fileName, item.Name, StringComparison.OrdinalIgnoreCase));

            if (file == null)
            {
                if (path.StartsWith("sdata:\\attachments", StringComparison.OrdinalIgnoreCase))
                {
                    var attachment = new Attachment {FileName = fileName};
                    file = new AttachmentFileInfo(_client, _formMode, dir, attachment);
                }
                else
                {
                    var document = new LibraryDocument
                        {
                            FileName = fileName,
                            Directory = new SDataResource {Key = ((LibraryDirectory) ((IResourceHolder) dir).Resource).Key}
                        };
                    file = new LibraryFileInfo(_client, _formMode, dir, document);
                }
            }

            return file;
        }