I created the interface Card as follows

```
  public interface Card extends Comparable<Card> {
    .....
    }

then 

    public interface Deck<Card> {
          public void add(Card card);
    }

```

In Deck interface with type parameter I'm getting the warning ***type parameter is hiding the type Card***. I can as well declare the type T instead of Card but it makes more sense that the Deck to hold the Card Objects not more than that.

I read some old posts but not getting the clear sense of why the warning and what exactly the practical significance / why the compiler is complaining.