private static UpdateNode FetchUpdateNode(UpdateCallback receiver, int order, UpdateNode next = null) { if (updateNodesPoolCount > 0) { UpdateNode pooledNode = updateNodesPool[--updateNodesPoolCount]; updateNodesPool[updateNodesPoolCount] = null; pooledNode.Populate(order, receiver, next); return(pooledNode); } return(new UpdateNode(order, receiver, next)); }