question: public ArrayList < ConstraintWidget > findWidgets ( WidgetContainer container , int x , int y , int width , int height ) { ArrayList < ConstraintWidget > found = new ArrayList < > ( ) ; Rectangle area = new Rectangle ( x , y , width , height ) ; for ( ConstraintWidget widget : container . getChildren ( ) ) { WidgetCompanion companion = ( WidgetCompanion ) widget . getCompanionWidget ( ) ; WidgetDecorator decorator = companion . getWidgetDecorator ( WidgetDecorator . BLUEPRINT_STYLE ) ; if ( ! decorator . isVisible ( ) ) { continue ; } Rectangle bounds = new Rectangle ( widget . getDrawX ( ) , widget . getDrawY ( ) , widget . getWidth ( ) , widget . getHeight ( ) ) ; if ( area . intersects ( bounds ) ) { found . add ( widget ) ; } } return found ; }
target:  Gather all the widgets contained in the area specified and return them as an array, taking the decorator visibility in account