protected List < Instance > getSuper ( final Instance _instance ) throws EFapsException { final List < Instance > ret = new ArrayList <> ( ) ; final QueryBuilder queryBldr = new QueryBuilder ( getClassName4Type2Type ( ) ) ; queryBldr . addWhereAttrEqValue ( CIAdminProgram . Program2Program . From , _instance . getId ( ) ) ; final MultiPrintQuery multi = queryBldr . getPrint ( ) ; multi . addAttribute ( CIAdminProgram . Program2Program . To ) ; multi . execute ( ) ; if ( multi . next ( ) ) { final Instance instance = Instance . get ( getClassName4Type ( ) . getType ( ) , multi . < Long > getAttribute ( CIAdminProgram . Program2Program . To ) ) ; ret . add ( instance ) ; ret . addAll ( getSuper ( instance ) ) ; } return ret ; }
Recursive method that searches the SuperSource for the current Instance identified by the oid .