Change your GeneratorClient
declaration to this:
public class GeneratorClient<T extends Base>
implements IClient<T>
{
private final Class<T> clazz;
// etc
This should do it.
EDIT Since you only know the class at runtime, add a static factory method to build your GeneratorClient
:
public static <T extends Base> GeneratorClient<T> forClass(final Class<T>)
{
return new GeneratorClient<T>(whatever, args, are, needed, if, any);
}
In code:
final GeneratorClient<MyClass> = GeneratorClient.forClass(MyClass.class);