if(nodeBinding != null && otherBinding != null && nodeBinding.getKind() == IBinding.VARIABLE && otherBinding.getKind() == IBinding.VARIABLE) {
IVariableBinding nodeVariableBinding = (IVariableBinding)nodeBinding;
IVariableBinding otherVariableBinding = (IVariableBinding)otherBinding;
ITypeBinding nodeTypeBinding = nodeVariableBinding.getType();
ITypeBinding otherTypeBinding = otherVariableBinding.getType();
<BUG>if(nodeTypeBinding != null && otherTypeBinding != null && (!nodeTypeBinding.isEqualTo(otherTypeBinding) || !nodeTypeBinding.getQualifiedName().equals(otherTypeBinding.getQualifiedName()))) {
Difference diff = new Difference(nodeTypeBinding.getQualifiedName(),otherTypeBinding.getQualifiedName(),DifferenceType.SUBCLASS_TYPE_MISMATCH);</BUG>
astNodeDifference.addDifference(diff);
}
}

if(nodeBinding != null && otherBinding != null && nodeBinding.getKind() == IBinding.VARIABLE && otherBinding.getKind() == IBinding.VARIABLE) {
IVariableBinding nodeVariableBinding = (IVariableBinding)nodeBinding;
IVariableBinding otherVariableBinding = (IVariableBinding)otherBinding;
ITypeBinding nodeTypeBinding = nodeVariableBinding.getType();
ITypeBinding otherTypeBinding = otherVariableBinding.getType();
if(nodeTypeBinding != null && otherTypeBinding != null && subclassTypeMismatch(nodeTypeBinding, otherTypeBinding)) {
Difference diff = new Difference(nodeTypeBinding.getQualifiedName(),otherTypeBinding.getQualifiedName(),DifferenceType.SUBCLASS_TYPE_MISMATCH);
astNodeDifference.addDifference(diff);
