UE Reflection - how to get Type of TArray elements?

Hello.
How to get Type of TArray elements with UE reflection?
For example, I have some array:

    UMySaveGame* save = Cast<UMySaveGame>(UGameplayStatics::CreateSaveGameObject(UMySaveGame::StaticClass()));

    TArray<FString> sa;
sa.Add(TEXT("TEXT0"));
sa.Add(TEXT("TEXT1"));
sa.Add(TEXT("TEXT2"));
save->MyStrArrProp = sa;

and I want to access it with the reflection:

UClass* SourceObjectClass = save->GetClass();
	TMap<FString, UProperty*> Props;
	for (TFieldIterator<UProperty> PropIt(SourceObjectClass, EFieldIteratorFlags::SuperClassFlags::IncludeSuper);
	PropIt; ++PropIt)
	{
		Props.Add(*PropIt->GetNameCPP(), *PropIt);
	}
for (auto p : Props) {

GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Green,
				TEXT("PROP NAME: ") + p.Key +
				TEXT(" - TYPE: ") + p.Value->GetCPPType()
				//TEXT(" - VALUE: ") + (*ValuePtr)
				);
}

It shows only TArray for p.Value->GetCPPType() . But how to check, what type of values of that TArray?
Ie, it can be, for example TArray.

Thank you!

Solution is very simple, as it turned out:

for (auto p : Props) {
   if (p.Value->GetCPPType().Equals(TEXT("TArray"))) {
       UArrayProperty* ArrayProp = Cast<UArrayProperty>(p.Value);

       GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Green,
          	TEXT("PROP NAME: ") + p.Key +
                TEXT(" - TYPE: ") + ArrayProp->Inner->GetClass()->GetName()
		);
   }
}

I tried this, but unfortunatelly it returned StrProperty for TArray<FString>
i found that the function GetCPPType()has parameter to write container’s type, so it can be

FString ContainerTypeText;
ArrayProperty->GetCPPType(&ContainerTypeText,  0);

(return <FString>)