@@ -0,0 +1,920 @@
+package com.mpalourdio.springboottemplate.generics;%0A%0Aimport java.lang.reflect.ParameterizedType;%0Aimport java.lang.reflect.Type;%0A%0A/**%0A * Shamelessly copy/pasted from SO%0A *%0A * @see %3Ca href=%22http://stackoverflow.com/a/41629503%22%3Ehttp://stackoverflow.com/a/41629503%3C/a%3E%0A */%0Apublic class CustomParameterizedType implements ParameterizedType %7B%0A%0A    private final ParameterizedType delegate;%0A    private final Type%5B%5D actualTypeArguments;%0A%0A    public CustomParameterizedType(final ParameterizedType delegate, final Type%5B%5D actualTypeArguments) %7B%0A        this.delegate = delegate;%0A        this.actualTypeArguments = actualTypeArguments;%0A    %7D%0A%0A    @Override%0A    public Type%5B%5D getActualTypeArguments() %7B%0A        return actualTypeArguments;%0A    %7D%0A%0A    @Override%0A    public Type getRawType() %7B%0A        return delegate.getRawType();%0A    %7D%0A%0A    @Override%0A    public Type getOwnerType() %7B%0A        return delegate.getOwnerType();%0A    %7D%0A%7D%0A

Add CustomParameterizedType. See doc block for more information