java check if generic implements interface