The Double Check Design Pattern