gatheredBioMatterArrays.add(takenMatter);
gatheredFoodMatterArrays.add(takenMatter);
    public static FoodMatter[] getCaloriesFromStore(            FoodConsumerDefinition pConsumer, float amountNeeded) {        float gatheredResource = 0f;        List gatheredBioMatterArrays = new Vector();        int sizeOfMatter = 0;        for (int i = 0; (i < pConsumer.getStores().length)                && (gatheredResource < amountNeeded); i++) {            float limitingMassFactor = Math.min(                    pConsumer.getDesiredFlowRate(i), pConsumer                            .getMaxFlowRate(i));            FoodStore currentFoodStore = FoodStoreHelper.narrow(pConsumer                    .getStores()[i]);            FoodMatter[] takenMatter = currentFoodStore.takeFoodMatterCalories(                    amountNeeded, limitingMassFactor);            sizeOfMatter += takenMatter.length;            gatheredBioMatterArrays.add(takenMatter);            pConsumer.getActualFlowRates()[i] += calculateSizeOfFoodMatter(takenMatter);            gatheredResource += FoodStoreImpl.calculateCalories(takenMatter);        }        FoodMatter[] fullMatterTaken = new FoodMatter[sizeOfMatter];        int lastPosition = 0;        for (Iterator iter = gatheredBioMatterArrays.iterator(); iter.hasNext();) {            FoodMatter[] matterArray = (FoodMatter[]) (iter.next());            System.arraycopy(matterArray, 0, fullMatterTaken, lastPosition,                    matterArray.length);            lastPosition = matterArray.length;        }        return fullMatterTaken;    }