STORM_LOG_THROW(globalProgramInformation.moduleToIndexMap[moduleName]==globalProgramInformation.modules.size(),storm::exceptions::WrongFormatException,"Internal error while parsing: the index for module "<<moduleName<<" does not match the on in the first run.");
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<" for player "<<playerName<<": Module '"<<moduleName<<"' already controlled by another player.");
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<" for player "<<playerName<<": No module named '"<<moduleName<<"' present.");
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<" for player "<<playerName<<": Command '"<<actionName<<"' already controlled by another player.");
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<" for player "<<playerName<<": No action named '"<<actionName<<"' present.");
STORM_LOG_ASSERT(choice.getPlayerIndex()==statePlayerIndex,"State '"<<this->stateToString(*this->state)<<"' comprises choices for different players.");
}else{
STORM_LOG_WARN("State '"<<this->stateToString(*this->state)<<"' features a choice without player index.");
// Check that the resulting distribution is in fact a distribution.
STORM_LOG_THROW(!program.isDiscreteTimeModel()||this->comparator.isOne(probabilitySum),storm::exceptions::WrongFormatException,"Probabilities do not sum to one for command '"<<command<<"' (actually sum to "<<probabilitySum<<").");
STORM_LOG_THROW(stateCount==this->getTransitionMatrix().getRowGroupCount(),storm::exceptions::IllegalArgumentException,"Can not create nondeterministic model: Number of row groups ("<<this->getTransitionMatrix().getRowGroupCount()<<") of transition matrix does not match state count ("<<stateCount<<").");
STORM_LOG_THROW(stateCount==this->getTransitionMatrix().getColumnCount(),storm::exceptions::IllegalArgumentException,"Can not create nondeterministic model: Number of columns of transition matrix does not match state count.");
STORM_LOG_ERROR_COND(!components.player1Matrix.is_initialized(),"Player 1 matrix given for a model that is no stochastic game (will be ignored).");
}else{
STORM_LOG_THROW(this->isOfType(ModelType::S2pg),storm::exceptions::IllegalArgumentException,"Invalid model type.");
}elseif(this->isOfType(ModelType::S2pg)){
STORM_LOG_THROW(components.player1Matrix.is_initialized(),storm::exceptions::IllegalArgumentException,"No player 1 matrix given for stochastic game.");
STORM_LOG_ASSERT(components.player1Matrix->isProbabilistic(),"Can not create stochastic game: There is a row in the p1 matrix with not exactly one entry.");
STORM_LOG_THROW(stateCount==components.player1Matrix->getRowGroupCount(),storm::exceptions::IllegalArgumentException,"Can not create stochastic game: Number of row groups of p1 matrix does not match state count.");
STORM_LOG_THROW(this->getTransitionMatrix().getRowGroupCount()==components.player1Matrix->getColumnCount(),storm::exceptions::IllegalArgumentException,"Can not create stochastic game: Number of row groups of p2 matrix does not match column count of p1 matrix.");
}elseif(this->isOfType(ModelType::Smg)){
STORM_LOG_DEBUG("Smg parsed");
}else{
STORM_LOG_THROW(false,storm::exceptions::IllegalArgumentException,"Invalid model type.");
xxxxxxxxxx