/// <exception cref = "ArgumentNullException">A listener is not provided</exception>
        public SelfPatcher(ISelfPatcherListener listener)
        {
            if (listener == null)
            {
                throw new ArgumentNullException("listener");
            }

            this.listener = listener;
        }