Reports method references or lambda expressions that point to a method of their own functional interface type and hence can be replaced with their qualifiers removing unnecessary object allocation.

Example:


  SwingUtilities.invokeLater(r::run);
  SwingUtilities.invokeAndWait(() -> r.run());

After the quick-fix is applied:


  SwingUtilities.invokeLater(r);
  SwingUtilities.invokeAndWait(r);

Reports only if the language level of the project or module is 8 or higher.