if(!r.containsFlag(PipeRoutingConnectionType.canRequestFrom)) continue;
if (!(r.destination.getPipe() instanceof IProvideItems)) continue;
for(IFilter filter:r.filters) {
if(filter.blockProvider()) continue outer;
}
IProvideItems provider = (IProvideItems) r.destination.getPipe();
provider.getAllItems(items.get(r.destination.getSimpleID()), r.filters);
used.set(r.destination.getSimpleID(), true);
}
//TODO: Fix this doubly nested list
HashMap<ItemIdentifier, Integer> allAvailableItems = new HashMap<ItemIdentifier, Integer>();
for(Map<ItemIdentifier, Integer> allItems:items) {