Removes the check for both classes to have the same amount of type
parameters.
Removes the filter in the for loop where static types weren't allowed
through like Object since otherwise adding a static type in the
instanceof would bypass the check.
Makes the replacement the boolean class for checking if the type
parameters for the casted to class were relevant for the casted from
class if the old type parameter was Object.
Adds a check for if the type parameter is an unbound wildcard if a type
parameter isn't relevant to the casted from class.
Change-Id: I5c56f752bbd753dd87afc2dbde09918782d3bb56
Signed-off-by: Charlie Oehlrich <charlieloehlrich@gmail.com>