/** * Takes a combination number, which should be seen as a binary, a 1 or 0 indicating whether the * zone in the zone list is in this diagram. */ public static AbstractDiagram findAbstractDiagram(long combination, ArrayList<String> zones) { String diagramString = ""; long current = combination; for (int i = 0; i <= zones.size(); i++) { if (current % 2 == 1) { diagramString += zones.get(i) + " "; } current = current / 2; } AbstractDiagram ret = new AbstractDiagram(diagramString); return ret; }