throw context.getRuntime().newArgumentError("The first argument should be a Symbol");
}
RubyString edn_string = (RubyString)RuntimeHelpers.invoke(context, args[0], "to_s");
Keyword partition = Keyword.intern((String)edn_string.asJavaString());
RubyClass clazz = (RubyClass)context.getRuntime().getClassFromPath("Diametric::Persistence::Object");
DiametricObject diametric_object = (DiametricObject)clazz.allocate();
try {
clojure.lang.Var clj_var = DiametricService.getFn("datomic.api", "tempid");
if (args.length > 1 && (args[1] instanceof RubyFixnum)) {
long idNumber = (Long) args[1].toJava(Long.class);
diametric_object.update(clj_var.invoke(partition, idNumber));