title: S1144 C#: Unused private types or members should be removed
body: <p>The Sonar Rule <code>Unused private types or members should be removed</code> doesn't work efficiently when a <code>private</code> method is called from a <code>protected</code> method. Example</p>
  
  <pre><code>protected override void DoSomething(){
       DoAnotherThing();
  }
  
  private void DoAnotherThing(){
       //no-op
  }
  </code></pre>
  
  <p>Plugin reference: <code>C# Plugin 5.2</code></p>
  
  <p>For above cases, Sonarqube detects an issue <code>S1144</code> for C# code for the method <code>DoAnotherThing</code> which is essentially incorrect</p>
  
  <p>The rule is finding more false positives than real issues. How do we fix this? or there is an enhancement coming in next plugin version?</p>
  
  <p>2 similar issues:</p>
  
  <ul>
  <li><a href="https://groups.google.com/forum/#!searchin/sonarqube/S1144/sonarqube/SrrPX8g1sY4/uL0_zcJBFAAJ" rel="nofollow">False Positive for Private Methods</a></li>
  <li><a href="https://groups.google.com/forum/#!searchin/sonarqube/S1144/sonarqube/GAHLx0sR48c/k5b-05HQAAAJ" rel="nofollow">False Positive for Reflection Methods</a></li>
  </ul>