docs: public static Tuple2<ClassNode[], ClassNode> parameterizeSAM(ClassNode sam) {
          MethodNode methodNode = ClassHelper.findSAM(sam);
          final Map<GenericsType, GenericsType> map = makeDeclaringAndActualGenericsTypeMapOfExactType(methodNode.getDeclaringClass(), sam);
  
          ClassNode[] parameterTypes =
                  Arrays.stream(methodNode.getParameters())
                      .map(e -> {
                          ClassNode originalParameterType = e.getType();
                          return originalParameterType.isGenericsPlaceHolder()
                                  ? findActualTypeByGenericsPlaceholderName(originalParameterType.getUnresolvedName(), map)
                                  : originalParameterType;
                      })
                      .toArray(ClassNode[]::new);
  
          ClassNode originalReturnType = methodNode.getReturnType();
          ClassNode returnType =
                  originalReturnType.isGenericsPlaceHolder()
                          ? findActualTypeByGenericsPlaceholderName(originalReturnType.getUnresolvedName(), map)
                          : originalReturnType;
  
          return tuple(parameterTypes, returnType);
      }