A list should be ordered by a property which is sub property of a object in a list.
pList = pList
        .OrderBy(x => x.GetType()
            .GetProperty(sortBasedValue)
            .GetValue(x, null))
        .ToList();
Will sort all Elements in the list, but some subelements have multiple properties.
Already tried subitem.value as sortBasedValue but will not work.