bool isConditionActionSubsystem( ESMoL::Subsystem subsystem ) {
	ActionPortVector actionPortVector = subsystem.ActionPort_kind_children();
	if ( actionPortVector.size() != 1 ) return false;

	ESMoL::Port port = actionPortVector.front();

	LineSet lineSet = port.srcLine();
	if ( lineSet.size() != 1 ) return false;

	ESMoL::Line line = *lineSet.begin();
	ESMoL::Port srcPort = line.srcLine_end();

	ESMoL::Block block = ESMoL::Block::Cast( srcPort.GetParent() );
	
	return block.BlockType() == "If" || block.BlockType() == "SwitchCase";
}