https://www.dotnetcodegeeks.com/2012/07/double-check-pattern.html
Double check pattern