@ Override public boolean satisfies ( Match match , int ... ind ) { Control ctrl = ( Control ) match . get ( ind [ 0 ] ) ; for ( Process process : ctrl . getControlled ( ) ) { if ( process instanceof Interaction ) { Interaction inter = ( Interaction ) process ; Set < Entity > participant = inter . getParticipant ( ) ; for ( Controller controller : ctrl . getController ( ) ) { if ( participant . contains ( controller ) ) return false ; } } } return true ; }
Checks if the controlled Interaction contains a controller as a participant . This constraint filters out such cases .