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