protected void removeUsedExtras(ItemIdentifier item, HashMap<IProvideItems,List<LogisticsExtraPromise>> extraMap) {
for(LogisticsPromise promise:promises) {
if(!promise.item.equals(item)) continue;
if(!(promise instanceof LogisticsExtraPromise)) continue;
LogisticsExtraPromise epromise = (LogisticsExtraPromise)promise;
if(epromise.provided) continue;
int usedcount = epromise.numberOfItems;
List<LogisticsExtraPromise> extras = extraMap.get(epromise.sender);
if(extras == null) continue;
for(Iterator<LogisticsExtraPromise> it = extras.iterator(); it.hasNext();) {
LogisticsExtraPromise extra = it.next();
if(extra.numberOfItems >= usedcount) {
extra.numberOfItems -= usedcount;
usedcount = 0;
break;
} else {