private void handleScalar(ThreadContext context, ScalarEvent se, boolean tainted, IRubyObject handler) {
Ruby runtime = context.runtime;
IRubyObject anchor = stringOrNilFor(runtime, se.getAnchor(), tainted);
IRubyObject tag = stringOrNilFor(runtime, se.getTag(), tainted);
IRubyObject plain_implicit = runtime.newBoolean(se.getImplicit().canOmitTagInPlainScalar());
IRubyObject quoted_implicit = runtime.newBoolean(se.getImplicit().canOmitTagInNonPlainScalar());
IRubyObject style = runtime.newFixnum(translateStyle(se.getStyle()));
IRubyObject val = stringFor(runtime, se.getValue(), tainted);
invoke(context, handler, "scalar", val, anchor, tag, plain_implicit,