SIL.FieldWorks.IText.SandboxBaseTests.GetMsaAndMoForm C# (CSharp) Method

GetMsaAndMoForm() private method

private GetMsaAndMoForm ( ILexEntry entry, System.Guid slotType, string pos, IMoForm &form ) : IMoMorphSynAnalysis
entry ILexEntry
slotType System.Guid
pos string
form IMoForm
return IMoMorphSynAnalysis
		private IMoMorphSynAnalysis GetMsaAndMoForm(ILexEntry entry, Guid slotType, string pos, out IMoForm form)
		{
			IMoMorphSynAnalysis msa;
			if (slotType == MoMorphTypeTags.kguidMorphStem)
			{
				form = Cache.ServiceLocator.GetInstance<IMoStemAllomorphFactory>().Create();
				var stemMsa = Cache.ServiceLocator.GetInstance<IMoStemMsaFactory>().Create();
				msa = stemMsa;
				entry.MorphoSyntaxAnalysesOC.Add(msa);
				stemMsa.PartOfSpeechRA = MakePartOfSpeech(pos);
			}
			else
			{
				form = Cache.ServiceLocator.GetInstance<IMoAffixAllomorphFactory>().Create();
				var affixMsa = Cache.ServiceLocator.GetInstance<IMoInflAffMsaFactory>().Create();
				msa = affixMsa;
				entry.MorphoSyntaxAnalysesOC.Add(msa);
				affixMsa.PartOfSpeechRA = MakePartOfSpeech(pos);
			}
			return msa;
		}
	}