public static void recursionTreeAsync(final Node root,ExecutorService service){
        service.submit(new Runnable() {
            @Override
            public void run() {
                try {
                    root.compute();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });


        if(root.hasChildren()){
            for (Iterator<Node> iterator = root.children.iterator(); iterator.hasNext(); ) {
                Node nextNode =  iterator.next();
                recursionTreeAsync(nextNode, service);
            }
        }else {
            return;

        }

    }