Casting class with generic variable to the same class with an interface that the generic implements - C#