AbstractMethodDeclaration methodDecl = method.sourceMethod();
if (methodDecl == null) return null; // method could not be resolved in previous iteration
TypeParameter[] typeParameters = methodDecl.typeParameters();
if (typeParameters != null) {
methodDecl.scope.connectTypeVariables(typeParameters, true);
// Perform deferred bound checks for type variables (only done after type variable hierarchy is connected)
for (int i = 0, paramLength = typeParameters.length; i < paramLength; i++)
typeParameters[i].checkBounds(methodDecl.scope);