int aspectTypes[]; double results[];
AspectValue avs[];
  private void createFailedAllocation(Task task, Inventory inventory) {      // make the failed time the day after the end of the oplan      long failed_time = inventoryPlugin.getOPlanEndTime() + TimeUtils.MSEC_PER_DAY;      int aspectTypes[];      double results[];      if (task.getVerb().equals(Constants.Verb.WITHDRAW)) {	  aspectTypes = new int[]{AspectType.END_TIME, AspectType.QUANTITY};	  double qty = PluginHelper.getPreferenceBestValue(task, AspectType.QUANTITY);	  results = new double[]{failed_time, qty};      } else {	  // projection... set start and end to failed_time	  aspectTypes = new int[]{AspectType.START_TIME, 				  AspectType.END_TIME, AlpineAspectType.DEMANDRATE};	  double qty = PluginHelper.getPreferenceBestValue(task, 							   AlpineAspectType.DEMANDRATE);	  results = new double[]{failed_time, failed_time, qty};      }      AllocationResult failed = 	  inventoryPlugin.getPlanningFactory().newAllocationResult(0.9, false, 							     aspectTypes, results);      PlanElement prevPE = task.getPlanElement();      if (prevPE == null) {	  Allocation alloc = inventoryPlugin.getPlanningFactory().	      createAllocation(task.getPlan(), task, inventory, 			       failed, myRole);	  inventoryPlugin.publishAdd(alloc);      } else {	  AllocationResult previous = prevPE.getEstimatedResult();	  if (!previous.equals(failed)) {	      prevPE.setEstimatedResult(failed);	      inventoryPlugin.publishChange(prevPE);	  }      }  }