@Override
	public void visitMethod(ClassNode c, MethodNode m) {
		if(!m.name().equals("<init>")) {
			return;
		}
		
		FlowGraph fg = m.graph();

		Block block = (Block) fg.trace().get(1);
		Stmt stmt = (Stmt) block.tree().stmts().get(1);
		if(stmt instanceof ExprStmt) {
			ExprStmt exprStmt = (ExprStmt) stmt;
			Expr expr = exprStmt.expr();
			if(expr instanceof StoreExpr) {
				Stmt labelStmt = (Stmt) block.tree().stmts().get(0);
				Stmt stmt2 = (Stmt) block.tree().stmts().get(2);
				if(stmt2 instanceof ExprStmt) {
					ExprStmt initStmt = (ExprStmt) stmt2;
					Expr initExpr = initStmt.expr();
					if(initExpr instanceof CallMethodExpr) { 
						ExprStmt s1 = (ExprStmt) initStmt.clone();
						ExprStmt s2 = (ExprStmt) exprStmt.clone();
						
						block.tree().removeStmt(exprStmt);
						block.tree().removeStmt(initStmt);
						block.tree().addStmtAfter(s1, labelStmt);
						block.tree().addStmtAfter(s2, s1);
						count2++;
					}
				}
			}
		}
	}