public void removeCard(Card card, Slot cardDestination) {
        CardComponent component = card.getComponent();
        int index = this.getSubComponentIndex(component);

        if (index < 0) {
            return;
        }

        component.trackTarget(cardDestination);
        component.getTracker().setTempPath(new LineTrackerPath());
        component.getTracker().setDestAction(Tracker.DEST_VISIBLE_FALSE);
        component.animateSize(new SizeAnimation(250, Animation.PACE_LINEAR, false, CARD_SIZE, CARD_SIZE, 0, 0));
        component.setInteractable(false);

        for (; index < this.getNumOrbitComponents() - 1; index++) {
            this.swapSubComponents(index, index + 1);
            this.getSlot(index).unSocket();
        }
        this.getSlot(index).unSocket();

        this.setNumOrbitComponents(this.getNumOrbitComponents() - 1);

        this.needsAnimated();
    }