private StreamWorkSlotQueue findWorkSlotQueue(MonitoredStream targetdStream, PolicyDefinition def) { StreamWorkSlotQueue targetQueue = null; for (StreamWorkSlotQueue queue : targetdStream.getQueues()) { if (isQueueAvailable(queue, def)) { targetQueue = queue; break; } } if (targetQueue == null) { WorkQueueBuilder builder = new WorkQueueBuilder(context, mgmtService); // TODO : get the properties from policy definiton targetQueue = builder.createQueue(targetdStream, def.isDedicated(), getQueueSize(def.getParallelismHint()), new HashMap<String, Object>()); } return targetQueue; }