Q:

Minor Issue when doing method overriding in SONAR

Approach one: Issue is 
Description Assignee    Resource    New issue
    - Useless Overriding Method : Overriding method merely calls super
    - overrides 
     A.executeImpl
class A {

protected void executeImpl(){
 // blah blah
}}

class B extends A{

protected void executeImpl(){

super.executeImpl();
}}

class C{

@Inject B b;

protected void executeCall(){

b.executeImpl();
}
}

if i remove overriden method:
Java Error: 
The method executeImpl() from the type B is not 
 visible
class A {

protected void executeImpl(){
 // blah blah
}}

class B extends A{

}

class C{

@Inject B b;

protected void executeCall(){

b.executeImpl();
}
}

What shall be my approach to remove the sonar minor issue . 

A:

I would say you have to rethink your package structure.  I think A is in another package than B and C. So C can't access the protected method in A but if you override it in B, C can access it. 

You could make executeImpl() public in A. 
Move A, B and C all to the same package or 
just ignore this issue or mark it as false
positive with an explanation.