If the fair share returned by the scheduler getFairShare() == 1 the pool will never be marked as being starved because of the following calculation:
getFairShare() returns 1
Math.min calculation will return 0.5
Math.Floor() which will cause the desiredFairShare to be set to 0.
the return value to be 'false' (0 < 0)
If you have a small job without a minimum set it will not get scheduled if a large job is hogging the slots.