code: @edu.umd.cs.findbugs.annotations.SuppressFBWarnings(value = "EXS_EXCEPTION_SOFTENING_RETURN_FALSE", justification = "No other simple way to determine whether class exists")
      private boolean checkConfusedName(String methodOrVariableName, String signature) {
          try {
              String name = methodOrVariableName.toLowerCase(Locale.ENGLISH);
              if ((name.endsWith("map") || (name.endsWith("set") && !name.endsWith("toset")) || name.endsWith("list") || name.endsWith("queue"))
                      && signature.startsWith("Ljava/util/")) {
                  String clsName = SignatureUtils.stripSignature(signature);
                  JavaClass cls = Repository.lookupClass(clsName);
                  if ((cls.implementationOf(mapInterface) && !name.endsWith("map")) || (cls.implementationOf(setInterface) && !name.endsWith("set"))
                          || ((cls.implementationOf(listInterface) || cls.implementationOf(queueInterface)) && !name.endsWith("list")
                                  && !name.endsWith("queue"))) {
                      return true;
                  }
              }
          } catch (ClassNotFoundException cnfe) {
              bugReporter.reportMissingClass(cnfe);
          }
  
          return false;
      }
docs: looks for a name that mentions a collection type but the wrong type for the variable
  
  @param methodOrVariableName
  the method or variable name
  @param signature
  the variable signature
  @return whether the name doesn't match the type