void (boolean value) { if (myTagComponent != null) { myTagComponent.setVisible(value); } if (myButtonComponents.isEmpty()) { return; } if (value) { assert myButtonEnableStates != null && myButtonEnableStates.length == myButtonComponents.size(); 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()]; for (int i = 0, size = myButtonComponents.size(); i < size; i++) { Component component = myButtonComponents.get(i); myButtonEnableStates[i] = component.isVisible(); component.setVisible(false); } } }