private String moveCardOntoTopRow(List<Card> from, int boardIndexTo, int listIndexFrom) {

        List<Card> pile = topRow.get(boardIndexTo);
        Card fromTop = from.get(listIndexFrom);
        if (pile.size() == 0) {
            if (fromTop.getRank() == Card.Rank.ACE) {
                pile.add(from.get(listIndexFrom));
                return "";
            } else {
                return "Can only move an Ace to an empty pile.";
            }
        } else {
            Card pileTop = pile.get(pile.size() - 1);
            //Want reference equality
            if (pileTop == fromTop) {
                //Don't want to move onto self, nor display warning
                return "ONTO_SELF";
            }
            if (listIndexFrom != from.size() - 1) {
                return "Can only move the bottom card to the top row.";
            }
            if (fromTop.getSuit().ordinal() == pileTop.getSuit().ordinal()) {
                if (fromTop.getRank().ordinal() == pileTop.getRank().ordinal() + 1) {
                    pile.add(from.get(listIndexFrom));
                    return "";
                } else {
                    return fromTop.getRank().name() + " is not one higher than " + pileTop.getRank().name();
                }

            } else {
                return "Can only move to a pile of the same suit";
            }
        }
    }