UIOE - Unnecessary 'instanceof' Evaluations

Checks that the runtime type of the left-hand side expression is the same as the one specified on the right-hand side.

Wrong

class UIOE {
    void operation () {
        Animal animal;
        Elephant elephant;
        if ( animal instanceof Animal ) {
            doSomething1(animal);
        }
        if ( elephant instanceof Animal ) {
            doSomething2(elephant);
        }
    }
}
class Animal {}
class Elephant extends Animal {}

Tip: Remove unnecessary checks

Right

class UIOE {
    void operation () {
        Animal animal;
        Elephant elephant;
        doSomething1(animal);
        doSomething2(elephant);
    }
}
class Animal {}
class Elephant extends Animal {}