public void Consume(FileChangeMessage message)
        {
            if (_configuration.Providers != ".NET")
            {
                return;
            }

            Debug.WriteDebug("Consuming filechange through BinaryFileChangeConsumer");
            var assemblyFiles = new List <ChangedFile>();

            foreach (var file in message.Files)
            {
                if (file.FullName.ToLower().Contains(string.Format("{0}obj{0}", Path.DirectorySeparatorChar)))
                {
                    continue;
                }
                if (file.Extension.ToLower().Equals(".exe"))
                {
                    assemblyFiles.Add(file);
                }
                if (file.Extension.ToLower().Equals(".dll"))
                {
                    assemblyFiles.Add(file);
                }
            }

            if (assemblyFiles.Count == 0)
            {
                return;
            }

            var files        = new List <int>();
            var distinctList = new AssemblyChangeMessage();

            foreach (var file in assemblyFiles)
            {
                var id = _assemblyIdBuilder.GetAssemblyIdentifier(file.FullName);
                if (doesNotContain(id, files))
                {
                    files.Add(id);
                    distinctList.AddFile(file);
                }
            }
            _bus.Publish(new RunStartedMessage(distinctList.Files));
            _bus.Publish(distinctList);
        }