for (int i = 0; i < openArgs.size(); i++) {
IRubyObject arg = openArgs.eltInternal(i);
if (arg instanceof RubyString) { // Overrides all?
ioOptions = newIOOptions(runtime, arg.asJavaString());
} else if (arg instanceof RubyFixnum) {
ioOptions = newIOOptions(runtime, ((RubyFixnum) arg).getLongValue());
} else if (arg instanceof RubyHash) {
ioOptions = updateIOOptionsFromOptions(context, (RubyHash) arg, ioOptions);
}