public static Set<TypeVariable> methodTypeToTargets(final AnnotatedExecutableType methodType){
  final List<AnnotatedTypeVariable> annotatedTypeVars=methodType.getTypeVariables();
  final Set<TypeVariable> targets=new LinkedHashSet<>(annotatedTypeVars.size());
  for (  final AnnotatedTypeVariable atv : annotatedTypeVars) {
    targets.add(atv.getUnderlyingType());
  }
  return targets;
}

public static Set < TypeVariable > methodTypeToTargets ( final AnnotatedExecutableType methodType ) { final List < AnnotatedTypeVariable > annotatedTypeVars = methodType . getTypeVariables ( ) ; final Set < TypeVariable > targets = new LinkedHashSet < > ( annotatedTypeVars . size ( ) ) ; for ( final AnnotatedTypeVariable atv : annotatedTypeVars ) { targets . add ( atv . getUnderlyingType ( ) ) ; } return targets ; }
given an annotatedexecutabletype return a set of type variables that represents the generic type parameters of that method
