code: @Override
      public List<Fence> buildConstraint(BtrPlaceTree t, List<BtrpOperand> args) {
          if (checkConformance(t, args)) {
            @SuppressWarnings("unchecked")
            List<VM> vms = (List<VM>) params[0].transform(this, t, args.get(0));
            @SuppressWarnings("unchecked")
            List<Node> ns = (List<Node>) params[1].transform(this, t, args.get(1));
              return vms != null && ns != null ? Fence.newFence(vms, ns) : Collections.emptyList();
          }
          return Collections.emptyList();
      }
docs: Build a constraint.
  
  @param args the parameters to use. Must be 2 non-empty set. One of virtual machines and one of nodes.
  @return a constraint