  Line 78) setAsterisk(isAsterisk) ==> com.github.javaparser.ast.ImportDeclaration.setAsterisk(boolean)
  Line 79) setName(name) ==> com.github.javaparser.ast.ImportDeclaration.setName(com.github.javaparser.ast.expr.NameExpr)
  Line 80) setStatic(isStatic) ==> com.github.javaparser.ast.ImportDeclaration.setStatic(boolean)
  Line 86) setAsterisk(isAsterisk) ==> com.github.javaparser.ast.ImportDeclaration.setAsterisk(boolean)
  Line 87) setName(name) ==> com.github.javaparser.ast.ImportDeclaration.setName(com.github.javaparser.ast.expr.NameExpr)
  Line 88) setStatic(isStatic) ==> com.github.javaparser.ast.ImportDeclaration.setStatic(boolean)
  Line 101) v.visit(this, arg) ==> com.github.javaparser.ast.visitor.GenericVisitor.visit(com.github.javaparser.ast.ImportDeclaration, A)
  Line 106) v.visit(this, arg) ==> com.github.javaparser.ast.visitor.VoidVisitor.visit(com.github.javaparser.ast.ImportDeclaration, A)
  Line 169) setAsParentNodeOf(this.name) ==> com.github.javaparser.ast.Node.setAsParentNodeOf(com.github.javaparser.ast.Node)
