  Line 52) setParam(param) ==> com.github.javaparser.ast.stmt.CatchClause.setParam(com.github.javaparser.ast.body.Parameter)
  Line 53) setBody(catchBlock) ==> com.github.javaparser.ast.stmt.CatchClause.setBody(com.github.javaparser.ast.stmt.BlockStmt)
  Line 63) setParam(new Parameter(range, exceptModifier, exceptAnnotations, exceptType, null, false, exceptId)) ==> com.github.javaparser.ast.stmt.CatchClause.setParam(com.github.javaparser.ast.body.Parameter)
  Line 64) setBody(catchBlock) ==> com.github.javaparser.ast.stmt.CatchClause.setBody(com.github.javaparser.ast.stmt.BlockStmt)
  Line 68) v.visit(this, arg) ==> com.github.javaparser.ast.visitor.GenericVisitor.visit(com.github.javaparser.ast.stmt.CatchClause, A)
  Line 72) v.visit(this, arg) ==> com.github.javaparser.ast.visitor.VoidVisitor.visit(com.github.javaparser.ast.stmt.CatchClause, A)
  Line 99) setAsParentNodeOf(this.catchBlock) ==> com.github.javaparser.ast.Node.setAsParentNodeOf(com.github.javaparser.ast.Node)
  Line 105) setAsParentNodeOf(this.param) ==> com.github.javaparser.ast.Node.setAsParentNodeOf(com.github.javaparser.ast.Node)
  Line 117) setAsParentNodeOf(this.catchBlock) ==> com.github.javaparser.ast.Node.setAsParentNodeOf(com.github.javaparser.ast.Node)
