internal static ProjectionInfo GetProjections(MemberMappingDescriptor desc, string projection) { string normalizedProjection = ExpressionParser.NormalizeExpression(projection); normalizedProjection = normalizedProjection.Trim(';', ' '); if (!ExpressionParser.IsProjectionExpression(normalizedProjection)) { // use original string in message to make it easier to find the attribute string message = ErrorBuilder.InvalidProjectionStringError(desc, projection); throw new OtisException(message); } IList <ProjectionItem> projectionItems = SplitProjectionItems(normalizedProjection); return(ProjectionBuilder.Build(desc, projectionItems)); }