if (amountToPush <= 0){ Arrays.fill(getActualFlowRates(), 0f); return 0f; }
    public float pushResourceToStore(float amountToPush, int indexOfStore) {        if (getStores() == null)            return 0f;        if (getStores().length <= indexOfStore)        	return 0f;        float resourceRemaining = amountToPush;        float resourceToDistributeFirst = Math.min(resourceRemaining, getMaxFlowRate(indexOfStore));        float resourceToDistributeFinal = Math.min(resourceToDistributeFirst, getDesiredFlowRate(indexOfStore));        getActualFlowRates()[indexOfStore] = getStores()[indexOfStore].add(resourceToDistributeFinal);        resourceRemaining -= getActualFlowRate(indexOfStore);        return (amountToPush - resourceRemaining);    }