@Override
    public List<SatConstraint> buildConstraint(BtrPlaceTree t, List<BtrpOperand> args) {
        if (checkConformance(t, args)) {
            @SuppressWarnings("unchecked")
            List<VM> s = (List<VM>) params[0].transform(this, t, args.get(0));
            if (s == null) {
                return Collections.emptyList();
            }
            return s.stream().map(Ready::new).collect(Collectors.toList());
        }
        return Collections.emptyList();
    }
@ Override public List < SatConstraint > buildConstraint ( BtrPlaceTree t , List < BtrpOperand > args ) { if ( checkConformance ( t , args ) ) { @ SuppressWarnings ( "unchecked" ) List < VM > s = ( List < VM > ) params [ 0 ] . transform ( this , t , args . get ( 0 ) ) ; if ( s == null ) { return Collections . emptyList ( ) ; } return s . stream ( ) . map ( Ready :: new ) . collect ( Collectors . toList ( ) ) ; } return Collections . emptyList ( ) ; }
Build an online constraint.

@param args must be 1 set of vms. The set must not be empty
@return a constraint