/* (non-Javadoc)
  * @see org.aspectj.weaver.reflect.GenericSignatureInformationProvider#getGenericParameterTypes(org.aspectj.weaver.reflect.ReflectionBasedResolvedMemberImpl)
  */
 public UnresolvedType[] getGenericParameterTypes(
     ReflectionBasedResolvedMemberImpl resolvedMember) {
   JavaLangTypeToResolvedTypeConverter typeConverter =
       new JavaLangTypeToResolvedTypeConverter(world);
   Type[] pTypes = new Type[0];
   Member member = resolvedMember.getMember();
   if (member instanceof Method) {
     pTypes = ((Method) member).getGenericParameterTypes();
   } else if (member instanceof Constructor) {
     pTypes = ((Constructor) member).getGenericParameterTypes();
   }
   return typeConverter.fromTypes(pTypes);
 }
 /* (non-Javadoc)
  * @see org.aspectj.weaver.reflect.GenericSignatureInformationProvider#getGenericReturnType(org.aspectj.weaver.reflect.ReflectionBasedResolvedMemberImpl)
  */
 public UnresolvedType getGenericReturnType(ReflectionBasedResolvedMemberImpl resolvedMember) {
   JavaLangTypeToResolvedTypeConverter typeConverter =
       new JavaLangTypeToResolvedTypeConverter(world);
   Member member = resolvedMember.getMember();
   if (member instanceof Field) {
     return typeConverter.fromType(((Field) member).getGenericType());
   } else if (member instanceof Method) {
     return typeConverter.fromType(((Method) member).getGenericReturnType());
   } else if (member instanceof Constructor) {
     return typeConverter.fromType(((Constructor) member).getDeclaringClass());
   } else {
     throw new IllegalStateException("unexpected member type: " + member);
   }
 }