public static async Task <SignalRHandler> GetCreateOrThrow() { var getter = new Getter(); return(await getter.GotIt(Interlocked.CompareExchange(ref instance, getter.task, null) == null)); }