private static string[] getTechSemanticStrArray(SemanticDataType[] semanticTypes)
 {
     if(semanticTypes == null)
         return new string[0];
     var strArray = semanticTypes.OrderBy(semType => semType.semanticTypeName)
                                 .ThenBy(semType => semType.isArray)
                                 .Select(semType => semType.dataType + (semType.isArray ? "[]" : "") +
                                                    ":" + semType.semanticTypeName).ToArray();
     return strArray;
 }
 private static string getTechSemanticConcatenation(SemanticDataType[] semanticTypes)
 {
     var strArray = getTechSemanticStrArray(semanticTypes);
     return string.Join(";", strArray);
 }