public IList <DocumentMetadataInfo> Read(string fullName)
        {
            var invalid = string.IsNullOrWhiteSpace(fullName);

            if (invalid)
            {
                throw new ArgumentException($"'{fullName}' is not valid");
            }

            var path = GetDerivedPath(fullName);

            using (var reader = _ioService.GetReader(path))
            {
                DocumentMetadataInfo[] data;

                if (reader == null)
                {
                    data = new DocumentMetadataInfo[0];
                }
                else
                {
                    var savedJson = reader.ReadToEnd();
                    data = JsonConvert.DeserializeObject <DocumentMetadataInfo[]>(savedJson);
                }

                return(data);
            }
        }