public boolean showCard(String tag,boolean dismissible){
  final Card card=mHiddenCards.get(tag);
  if (card != null && !mVisibleCards.containsValue(tag)) {
    mHiddenCards.remove(tag);
    mVisibleCards.put(tag,card);
    mLayout.addCard(card.getView(),dismissible);
    if (dismissible) {
      mDismissibleCards.add(tag);
    }
    return true;
  }
  return false;
}

public boolean showCard ( String tag , boolean dismissible ) { final Card card = mHiddenCards . get ( tag ) ; if ( card != null && ! mVisibleCards . containsValue ( tag ) ) { mHiddenCards . remove ( tag ) ; mVisibleCards . put ( tag , card ) ; mLayout . addCard ( card . getView ( ) , dismissible ) ; if ( dismissible ) { mDismissibleCards . add ( tag ) ; } return true ; } return false ; }
show a card , returns false if the card could not be shown .
