public ICollection <string> RequiredBinaryFiles(string fileName, ComponentType componentType)
        {
            if (!File.Exists(fileName))
            {
                return(null);
            }

            if (!SupportedComponentTypes.Contains(componentType))
            {
                return(null);
            }

            if (componentType.FileExtension() != Path.GetExtension(fileName))
            {
                return(null);
            }

            var regExPattern = "OleObjectBlob\\s+=\\s+\"([^\"]+)\":";
            var regEx        = new Regex(regExPattern);
            var contents     = File.ReadLines(fileName, Encoding.Default);

            foreach (var codeLine in contents)
            {
                var match = regEx.Match(codeLine);
                if (match.Success)
                {
                    return(new List <string> {
                        match.Groups[1].Value
                    });
                }
            }

            var fallbackBinaryName = Path.GetFileNameWithoutExtension(fileName) + componentType.BinaryFileExtension();

            return(new List <string> {
                fallbackBinaryName
            });
        }