public Rank getRank(String rank, Town town) { for (Rank r : Constants.DEFAULT_RANKS) { if (r.parse(rank)) return r; } if (town != null) for (Rank r : town.getAdditionalRanks()) { if (r.parse(rank)) return r; } return Constants.DEFAULT_RANKS[0]; // TODO Change later? }