public void PatchSelfApplication()
        {
            log.Info("Patching all mono cecil applications...");

            using (CurrentDirectoryService.FromExecutingAssembly()) {
                var monoCecilApplicationResultNames = ShiftMonoCecilApplications(applicationPatcherSelfConfiguration.MonoCecilApplicationFileNames, applicationPatcherSelfConfiguration.MonoCecilResultDirectoryName, false);

                foreach (var monoCecilResultApplicationName in monoCecilApplicationResultNames)
                {
                    log.Info($"Patching '{monoCecilResultApplicationName}' application...");
                    PatchApplication(applicationPatcherCore, monoCecilResultApplicationName, applicationPatcherSelfConfiguration.MonoCecilSignatureFileName);
                    log.Info($"Application '{monoCecilResultApplicationName}' was patched");
                }

                log.Info("All mono cecil applications was patched");

                foreach (var monoCecilOutputDirectory in applicationPatcherSelfConfiguration.MonoCecilOutputDirectories)
                {
                    ShiftMonoCecilApplications(monoCecilApplicationResultNames, monoCecilOutputDirectory, true);
                }
            }
        }