public void RequestBuild(BuildCondition condition) { lock (this) { if (request.IsHigherPriority(condition)) { request = new BuildRequest(condition); latch.Set(); } } }