// allow accessing public methods in private event classes
method.setAccessible(true);
Class<?> dataType = method.getReturnType();
ContainerType containerType = null;
// extract container type and replace data type with it
if (isIterable(dataType)) {
dataType = extractIterableType(method);
containerType = ContainerType.ITERABLE;