The solution is to remove the annotation on the implementation (Defined Locally) and just to keep the annotation on method signature in interface (Defined in Hierarchy). Now, it is only executing once.