Для меня так и осталась загадкой магия переменной isFound. Как она работает, каким образом машина именно по ней вычисляет, что снова пришла колонка, которая уже включена в список realOrder (дубликат колонки)? public static void configureColumns(Column... newOrder) { realOrder = new int[values().length]; for (Column column : values()) { realOrder[column.ordinal()] = -1; boolean isFound = false; for (int i = 0; i < newOrder.length; i++) { if (column == newOrder[i]) { if (isFound) { throw new IllegalArgumentException("Column '" + column.columnName + "' is already configured."); } realOrder[column.ordinal()] = i; isFound = true; } } } }