@Override public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, long arg1) { if (self instanceof RubyFixnum) { if (cache instanceof FixnumEntry) return ((RubyFixnum) self).op_plus(context, arg1); } else if (self instanceof RubyFloat) { if (secondaryCache instanceof FloatEntry) return ((RubyFloat) self).op_plus(context, arg1); } return super.call(context, caller, self, arg1); }