private void visitSingleValueStatement(Statement.SingleValueStatement s) {
   visitStatement(s);
   visit(s.getValue());
 }
 public void visitControlStructure(Statement tr) {
   visitStatement(tr);
 }
 public void visitThrow(Throw t) {
   visitStatement(t);
   visit(t.getExpression());
 }
 public void visitExpressionStatement(ExpressionStatement expressionStatement) {
   visitStatement(expressionStatement);
   visit(expressionStatement.getExpression());
 }
 public void visitBlock(Block block) {
   visitStatement(block);
   visit(block.getStatements());
 }
  protected void visitDeclaration(Declaration d) {
    visitStatement(d);

    visit(d.getValueType());
  }