Set<Entry<Integer, TreeNode>> treeNodeEntrySet = todoNodes.entrySet();
Iterator<Entry<Integer, TreeNode>> treeNodeIterator = treeNodeEntrySet.iterator();
int roundNodeNumer = treeNodeEntrySet.size() / this.workerThreadCount;
int modeNodeNumber = treeNodeEntrySet.size() % this.workerThreadCount;
int realThreadCount = 0;
<BUG>LOG.info("while todo size {}", todoNodes.size());
</BUG>
for(int i = 0; i < this.workerThreadCount; i++) {
final Map<Integer, TreeNode> localTodoNodes = new HashMap<Integer, TreeNode>();
final Map<Integer, NodeStats> localStatistics = new HashMap<Integer, DTWorkerParams.NodeStats>();

Set<Entry<Integer, TreeNode>> treeNodeEntrySet = todoNodes.entrySet();
Iterator<Entry<Integer, TreeNode>> treeNodeIterator = treeNodeEntrySet.iterator();
int roundNodeNumer = treeNodeEntrySet.size() / this.workerThreadCount;
int modeNodeNumber = treeNodeEntrySet.size() % this.workerThreadCount;
int realThreadCount = 0;
LOG.debug("while todo size {}", todoNodes.size());
for(int i = 0; i < this.workerThreadCount; i++) {
final Map<Integer, TreeNode> localTodoNodes = new HashMap<Integer, TreeNode>();
final Map<Integer, NodeStats> localStatistics = new HashMap<Integer, DTWorkerParams.NodeStats>();
