Make EmptyBlockStmtRule abstract
Use template to clean code