I have a class that is abstract called **MyAbstractClass**.

I have 5 different classes that extend it: classes **A,B,..E**

I need to add a method **foo()** in class **MyAbstractClass** but only **A,B and C**
should implement it whereas **D** and **E** will never need to execute it. (program flow will not reach there)

What would be a good practice in Java to achieve this behavior?

Should I use an interface? 

Should I add another layer of inheritance two differentiate between them and add foo only in the middle layer?

Thanks for any advice.