code: @SuppressWarnings("unchecked")
  	@Override
  	public Object handle(ProceedingJoinPoint proceedingJoinPoint, io.github.resilience4j.retry.Retry retry, String methodName) throws Throwable {
  		Object returnValue = proceedingJoinPoint.proceed();
  		if (Flux.class.isAssignableFrom(returnValue.getClass())) {
  			Flux<?> fluxReturnValue = (Flux<?>) returnValue;
  			return fluxReturnValue.transform(RetryOperator.of(retry));
  		} else if (Mono.class.isAssignableFrom(returnValue.getClass())) {
  			Mono<?> monoReturnValue = (Mono<?>) returnValue;
  			return monoReturnValue.transform(RetryOperator.of(retry));
  		} else {
  			logger.error("Unsupported type for Reactor retry {}", returnValue.getClass().getTypeName());
  			throw new IllegalArgumentException("Not Supported type for the retry in Reactor :" + returnValue.getClass().getName());
  
  		}
  	}
docs: handle the Spring web flux (Flux /Mono) return types AOP based into reactor retry
  See {@link io.github.resilience4j.retry.Retry} for details.
  
  @param proceedingJoinPoint Spring AOP proceedingJoinPoint
  @param retry               the configured retry
  @param methodName          the method name
  @return the result object
  @throws Throwable exception in case of faulty flow