static Set allAWTComponents_extraList = weakHashSet(); static L allAWTComponents() { if (headless()) ret emptyList(); ret swing(func -> L { flattenList2( map allChildren(allWindows()), cloneList(allAWTComponents_extraList), callOpt(SwingUtilities.class, 'getSharedOwnerFrame)) }); }