Reports type cast expressions that are preceded by an instanceof check for a different type.

Although this might be intended, such a construct is most likely an error, and will result in a java.lang.ClassCastException at runtime.

Example:

  
    class Main {
      int whenCharSequenceCastToNumber(Object o){
        if (o instanceof CharSequence) {
          return ((Number) o).intValue();
        }
        return 0;
      }

      int earlyReturnWhenNotCharSequence(Object o){
        if (!(o instanceof CharSequence)) return 0;
        return ((Number)o).intValue();
      }
    }