Using a type parameter when you don't have to simply obfuscates the code. Inserting an unnecessary type parameter in an unparameterized method call will compile, but confuse maintainers. 

== Noncompliant Code Example

----
void doTheThing() {
  // ...
}

//...
this.<String>doTheThing();  // Noncompliant
----

== Compliant Solution

----
void doTheThing() {
  // ...
}

//...
this.doTheThing();
----
