public int minimumPosition(int from)
throws InterruptedException
{
int minPos = from;
for (int i = from + 1; i < a.length; i++)
{
sortStateLock.lock();
try
{
if (a[i] < a[minPos]) minPos = i;
markedPosition = i;
}
finally
{
sortStateLock.unlock();
}
pause(2); // two array elements were inspected
}
return minPos;
}