public ProjectBuildQueue GetQueue() { if (_cachedQueue != null) { return(_cachedQueue); } var request = new HudsonQueueRequest(); var response = QueueRepository.Get(request); var projectBuildQueue = response.Items .Where(build => build.Task != null) .Select(build => GetProject(build.Task.Name)); _cachedQueue = ProjectBuildQueueMapper.FromHudsonAPI(projectBuildQueue); return(_cachedQueue); }