请看代码(关于JAVA的递归调用)

先请看一段简单的代码:
public class MenuManager {

boolean isLastNode=false;

public MenuManager(String contributionID){
....
try{
if (){ .. }
else{ isLastNode=true; }
}
catch (Exception e) {
e.printStackTrace();
}
}
public String getChildDoc(String fatherID){
此处要重新NEW一个构造器,例如:var child=new MenuManager(fatherid);因为接下来的动作要用到构造器动作后的isLastNode,请问这个地方怎么写?
if(isLastNode){
这个地方就开始递归调用getChildDoc了,请问应该怎么写?
}

最初我是这样写的:
public String getChildDoc(String fatherID){
MenuManager child=new MenuManager(id);
if(isLastNode){
Dom=Dom+child.getChildDoc(id);
}

这样有什么问题?第归就是自己调用自己,然后给个出口就是了