iterating on classes implementing Java types
adding methods for replacing wildcard types as variable types and vice versa.
correcting bug appeared when unifying types containing wildcard variables