public static List<int> GetValuesBeforeValue(List<int> values, int stopperValue)
{
ConcurrentStack<int> valuesToReturn = new ConcurrentStack<int>();
Parallel.For(0, values.Count, (index, loopState) =>
{
if (values[index] != stopperValue)
{
valuesToReturn.Push(values[index]);
}
else
{
loopState.Break();
}
});
return valuesToReturn.ToList();
}