@Override public void perform() { if (terminal().isDisposed()) return; terminal().setClosedUnconditionally(false); if (!terminal().isVisibleInContainer()) { container().add(terminal(), terminal().callBacks()); terminal().setVisibleInContainer(true); } if (extraOps != null) { if (extraOps.contains(IOSelect.AdditionalOperation.OPEN)) container().open(); if (extraOps.contains(IOSelect.AdditionalOperation.REQUEST_VISIBLE)) container().requestVisible(); if (extraOps.contains(IOSelect.AdditionalOperation.REQUEST_ACTIVE)) container().requestActive(); } container().select(terminal()); } }