}
@JRubyMethod(backtrace = true)
public IRubyObject at(ThreadContext context, IRubyObject indexObj) {
RubyFixnum lengthF = getJavaArray().length();
RubyInteger indexI = indexObj.convertToInteger();
if (indexI.getLongValue() < 0) {
indexI = RubyFixnum.newFixnum(context.getRuntime(), indexI.getLongValue() + lengthF.getLongValue());
}
long index = indexI.getLongValue();
if (index >= 0 && index < lengthF.getLongValue()) {
return JavaUtil.java_to_ruby(context.getRuntime(), getJavaArray().aref(indexI));
} else {
return context.getRuntime().getNil();