subtask.setVerb( new Verb( Grammar.SOURCE));
subtask.setVerb( Verb.get( Grammar.SOURCE));
  protected boolean expandTask( Task task) {    boolean retval = false;    NewTask subtask = null;    Vector subtasks = new Vector();    String verbStr = task.getVerb().toString();    if ( verbStr.equals( Grammar.SOURCE)) {      retval = true;      Vector mySuppliers = getSuppliersList( task);      if ( mySuppliers == null) {        return retval;      }      subtask = Utility.createSubtaskFromTask( getFactory(), task);      Vector usedSuppliersVector = null;      // Remove any "already used" suppliers from the mySuppliers list, except for SELF.      // Then add the remaining "new" suppliers to the UsedSuppliersList (if they aren't already in there)      // so they won't get tasked by other suppliers' source tasks      NewPrepositionalPhrase usedSuppliersPhrase          = (NewPrepositionalPhrase)prepHelper.getPrepNamed( subtask, Grammar.WITHUSEDSUPPLIERS);      if ( usedSuppliersPhrase != null) {        usedSuppliersVector = (Vector)usedSuppliersPhrase.getIndirectObject();        Enumeration usedSuppliersEnum = usedSuppliersVector.elements();        while ( usedSuppliersEnum.hasMoreElements()) {          String usedSupplierName = (String)usedSuppliersEnum.nextElement();          Enumeration mySupplierEnum = mySuppliers.elements();          while ( mySupplierEnum.hasMoreElements()) {            Organization mySupplier = (Organization)mySupplierEnum.nextElement();            String mySupplierName = mySupplier.getItemIdentificationPG().getNomenclature();            if ( mySupplierName.equals( usedSupplierName) && !mySupplierName.equals( getClusterName())) {              mySuppliers.removeElement( mySupplier);              break;            }          }        }      } else {        usedSuppliersPhrase = getFactory().newPrepositionalPhrase();        usedSuppliersPhrase.setPreposition( Grammar.WITHUSEDSUPPLIERS);        usedSuppliersPhrase.setIndirectObject( new Vector());        prepHelper.replacePrepOnTask( subtask, usedSuppliersPhrase);        usedSuppliersVector = (Vector)usedSuppliersPhrase.getIndirectObject();      }      if ( !usedSuppliersVector.contains( getClusterName())) {        usedSuppliersVector.add( getClusterName());      }      Enumeration suppliersEnum = mySuppliers.elements();      while ( suppliersEnum.hasMoreElements()) {        Organization supplier = (Organization)suppliersEnum.nextElement();        String supplierName = supplier.getItemIdentificationPG().getNomenclature();        if ( !usedSuppliersVector.contains( supplierName)) {          usedSuppliersVector.add( supplierName);        }      }      NewPrepositionalPhrase newPhrase = getFactory().newPrepositionalPhrase();      newPhrase.setPreposition( Grammar.WITHSUPPLIERS);      newPhrase.setIndirectObject( mySuppliers);      prepHelper.replacePrepOnTask( subtask, newPhrase);      // Put in a USESUPPLIER clause in order to allocate this subtask to the first supplier.      // Note that the SourceAllocator will create a FailedAllocation if the indirect object      // of the USESUPPLIER phrase is null.      Organization firstSupplier = null;      if ( mySuppliers.size() > 0) {        firstSupplier = (Organization)mySuppliers.elementAt( 0);      }      newPhrase = getFactory().newPrepositionalPhrase();      newPhrase.setPreposition( Grammar.USESUPPLIER);      newPhrase.setIndirectObject( firstSupplier);      prepHelper.replacePrepOnTask( subtask, newPhrase);      boolean redirectToCluster = false;      // If firstSupplier is myself, set the verb to SUPPLY.      // If firstSupplier does not have role of MultipleSupplierCapable, set the verb to SUPPLY.      // Otherwise, set the verb to SOURCE.      if ( firstSupplier == Utility.findNamedOrganization( getClusterName(), getOrganizationAssets())) {        subtask.setVerb( new Verb( Constants.Verb.SUPPLY));      } else {        subtask.setVerb( new Verb( Grammar.SOURCE));      }      subtasks.add( subtask);      Workflow wf = expandHelper.makeWorkflow( getFactory(), subtasks, task);      publishAddExpansion( expandHelper.makeExpansion( getFactory(), wf));    }    return retval;  }