// Does not merge input source into this object.
 public MutexSingletonShellcodeCCxxSource(IParameterlessCFunction functionSource, string mutexName = @"Global\MutexSingleton")
     : base(MutexSingletonCCxxSource.CreateSource((IParameterlessCFunction)functionSource, mutexName))
 {
     FindAndReplace(SourceFiles, FunctionNamePlaceholder, ((ICFunction)this).Name);
 }
 // Merges input source into this object
 public MutexSingletonCCxxSource(ICCxxSourceIParameterlessCFunction functionSource, string mutexName = @"Global\MutexSingleton")
     : base(MergeSourceFiles(MutexSingletonCCxxSource.CreateSource((IParameterlessCFunction)functionSource, mutexName), new List <ICCxxSource>() { functionSource }))
 {
     FindAndReplace(SourceFiles, FunctionNamePlaceholder, ((ICFunction)this).Name);
 }