public static ISomething Instance(int param) { lock (privateObject) { if (privateObject == null) { privateObject = FactoryClass.CreationObject(param); } } return(privateObject); }