public void save(CompoundTag tag) {
            tag.putInt("size", size);
            ListTag rootNodesTag = new ListTag();
            for (CompileTreeNode rootNode : rootNodes) {
                CompoundTag rootNodeTag = new CompoundTag();
                rootNode.save(rootNodeTag);
                rootNodesTag.add(rootNodeTag);
            }
            tag.put("rootNodes", rootNodesTag);
        }
Find the node at the given path, creating empty nodes when necessary
fabrication/src/main/java/mrtjp/projectred/fabrication/engine/log/ICCompilerLog.java