This conditional is clearer than before...thanks!  One suggestion on it, though: I like trailing conditionals when the condition is very short (such as `unless defined?(::BasicObject)`) but once you have a long compound expression, I think the more traditional route is more readable and better:

``` ruby
if defined?(JRUBY_VERSION) && JRUBY_VERSION == '1.7.4' && RUBY_VERSION.to_f > 1.8
  return ::BasicObject
end
```

Two other small things:

* You've pinned this to `JRUBY_VERSION == 1.7.4`.  Are you sure the bug is only present in that version?  Is there any indication it will be fixed on 1.7.5?  Your conditional before (`RUBY_PLATFORM == 'java' && RUBY_VERSION.to_f > 1.8`) was perhaps a bit better because it makes less assumptions about what versions this bug is limited to since it's hard to say for sure.  Unless you've received confirmation from one of the JRuby guys that this will be fixed in 1.7.5, the original expression was better IMO as it will not suddenly break when 1.7.5 is released if 1.7.5 does not fix this.  (I still like this being it's own conditional rather than part of a compound `unless` statement, though).
* Do you have a link to a jruby bug report?  If so, it would be nice to include it in the comment, as that would provide additional context.