ReifiedClass.(*args) this.rubyObject = new ConcreteJavaProxy() superargs, continuation = rubyObject#initialize_with_split_super(*args) switch(guessSignatureFromArgs(*superargs)) when V -> super() when LString -> super(*convert(superargs)) when LString;Z -> super(*convert(superargs)) etc... end rubyObject.setJavaObject(this) continuation.call