fix generics type issue with @Delegate