StateDimensionEstimation predictedStateDimensionEstimation = new StateDimensionEstimation(currentStateDimensionEstimation.getAssetModel(), currentStateDimensionEstimation.getStateDimension());
StateDimensionEstimation predictedStateDimensionEstimation = null;
    private StateDimensionEstimation computePredictedStateDimensionEstimation             (AssetID assetID, StateDimensionEstimation currentStateDimensionEstimation, ActionDescription variantDescription)         throws BelievabilityException {        // set up the data structure for the projected state estimation if the Variant is selected        StateDimensionEstimation predictedStateDimensionEstimation =             new StateDimensionEstimation(currentStateDimensionEstimation.getAssetModel(), currentStateDimensionEstimation.getStateDimension());        Enumeration stateEnumeration = currentStateDimensionEstimation.getStateNames();        while (stateEnumeration.hasMoreElements()) {            predictedStateDimensionEstimation.setProbability((String)stateEnumeration.nextElement(), 0.0);        }                // compute the probability of each end state (in this dimension) based on estimate of current state & the variant's transitions        Enumeration startStateEnumeration = currentStateDimensionEstimation.getStateNames();        while (startStateEnumeration.hasMoreElements()) {            String startStateName = (String) startStateEnumeration.nextElement();            double startStateProb;            double endStateProb;            try {                startStateProb = currentStateDimensionEstimation.getProbability(startStateName);                }            catch (BelievabilityException e) {                // Should be impossible to get here if the ActionDescription is correctly populated                throw new RuntimeException("Could not find an AssetState that the ActionDescription said t had");                }            AssetTransitionWithCost atwc = variantDescription.getTransitionForState(startStateName);            AssetState endState = atwc.getEndValue();            String endStateName = endState.getName();            try {                endStateProb = predictedStateDimensionEstimation.getProbability(endStateName);                }            catch (BelievabilityException e) {                // Should be impossible to get here if the ActionDescription is correctly populated                throw new RuntimeException("Could not find an AssetState that the ActionDescription said t had");                }                        predictedStateDimensionEstimation.setProbability(endStateName, endStateProb+startStateProb);        }      return predictedStateDimensionEstimation;    }