void ProcessBuildVertexRequests() { ChunkVertexBuilder vertexBuilder; while (vertexBuilderPool.TryBorrow(out vertexBuilder)) { BuildVertexRequest request; if (!buildVertexRequests.TryDequeue(out request)) { vertexBuilderPool.Return(vertexBuilder); break; } request.AttachVertexBuilder(vertexBuilder); ThreadPool.QueueUserWorkItem(buildVertexTask.WaitCallbackMethod, request); } }