void (boolean value) { if (myButtonComponents.isEmpty()) { return; } if (value) { assert myButtonEnableStates != null && myButtonEnableStates.length == myButtonComponents.size(); if (!myLeftOrder) { myBaseComponent.setVisible(true); } if (myProgressDisabledButton != null) { myProgressDisabledButton.setEnabled(true); } for (int i = 0, size = myButtonComponents.size(); i < size; i++) { myButtonComponents.get(i).setVisible(myButtonEnableStates[i]); } myButtonEnableStates = null; } else { assert myButtonEnableStates == null; myButtonEnableStates = new boolean[myButtonComponents.size()]; if (!myLeftOrder) { myBaseComponent.setVisible(false); } for (int i = 0, size = myButtonComponents.size(); i < size; i++) { Component component = myButtonComponents.get(i); if (component == myProgressDisabledButton) { myButtonEnableStates[i] = true; component.setEnabled(false); } else { myButtonEnableStates[i] = component.isVisible(); component.setVisible(false); } } } }