Yeah, I also think it might be better to break out the non-reentrant code path to make it clear whats going on. The two trinery statements (with [].max) are kind of hard to digest.

```ruby
if @reentrant
  # existing code path
else
  # new code path
end
```