String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { status = Status.Ready } ), ";
str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [ users['darth'], users['bobba'] ], ";
str += "businessAdministrators = [ users['jabba'] ] } ),";
str += "names = [ new I18NText( 'en-UK', 'This is my task name')] })";
BlockingAddTaskResponseHandler addTaskResponseHandler = new BlockingAddTaskResponseHandler();
Task task = ( Task ) eval( new StringReader( str ), vars );
client.addTask( task, null, addTaskResponseHandler );
long taskId = addTaskResponseHandler.getTaskId();
BlockingTaskOperationResponseHandler activateResponseHandler = new BlockingTaskOperationResponseHandler();
try {
client.activate(taskId, users.get("darth").getId(), activateResponseHandler);
activateResponseHandler.waitTillDone(DEFAULT_WAIT_TIME);