myLogger.debug("Going to remove " + resourceToGatherFinal + " moles of water");
    private void dehumidifyEnvironments() {        if (myLogger.isDebugEnabled()) {            float currentWaterMolesInEnvironment = myAirConsumerDefinitionImpl                    .getEnvironments()[0].getVaporStore().getCurrentLevel();            float totalMolesInEnvironment = myAirConsumerDefinitionImpl                    .getEnvironments()[0].getTotalMoles();            //myAirInputs[0].printCachedEnvironment();            myLogger.debug("Before: Water concentration"                    + currentWaterMolesInEnvironment / totalMolesInEnvironment);        }        float molesOfWaterGathered = 0f;        for (int i = 0; i < myAirConsumerDefinitionImpl.getEnvironments().length; i++) {            float molesNeededToRemove = calculateMolesNeededToRemove(myAirConsumerDefinitionImpl                    .getEnvironments()[i]);            if (molesNeededToRemove > 0) {                //cycle through and take molesNeededToRemove (or less if                // desired is less)                float resourceToGatherFirst = Math.min(molesNeededToRemove,                        myAirConsumerDefinitionImpl.getMaxFlowRate(i));                float resourceToGatherFinal = Math.min(resourceToGatherFirst,                        myAirConsumerDefinitionImpl.getDesiredFlowRate(i));                myAirConsumerDefinitionImpl.getActualFlowRates()[i] = myAirConsumerDefinitionImpl                        .getEnvironments()[i].getVaporStore().take(resourceToGatherFinal);                myLogger.debug("Going to remove " + resourceToGatherFinal                        + " moles of water");                molesOfWaterGathered += myAirConsumerDefinitionImpl                        .getActualFlowRate(i);            }        }        float waterPushedToStore = myDirtyWaterProducerDefinitionImpl                .pushResourceToStores(waterMolesToLiters(molesOfWaterGathered));        if (myLogger.isDebugEnabled()) {            float currentWaterMolesInEnvironment = myAirConsumerDefinitionImpl                    .getEnvironments()[0].getVaporStore().getCurrentLevel();            float totalMolesInEnvironment = myAirConsumerDefinitionImpl                    .getEnvironments()[0].getTotalMoles();            myLogger.debug("After: Pushed " + waterPushedToStore                    + " liters of water to the store (gathered "                    + molesOfWaterGathered                    + " moles), water concentration now "                    + currentWaterMolesInEnvironment / totalMolesInEnvironment);        }    }