package util.jms.replicatedobject import java.io.Serializable data class Call( val methodName: String, val args: Array ) : Serializable { fun execOn(target: Any): Any { val method = target::class.java.getMethod( methodName, *args.map { it::class.java }.toTypedArray() ) return method.invoke(target, *args) } }