I am not sure if i understand you question correctly, if what you want is to copy a RealmObject and assign a different primary key and store it, you can try this:
// Get your original RealmObject
YourModel obj1 = realm.where(YourModel.class).findFirst()
// Create a RealmObject instance without proxy, setters won't write to db
YourModel obj2 = new YourModel();
obj2.setField1(obj1.getField1());
obj2.setField2(obj1.getField2());
obj2.setPrimaryKey(obj1.getPrimaryKey()+1);
realm.beginTransaction();
// This will write obj2 to Realm. And the returned YourModel instance
// will be RealmObject with proxy. Setters will write to Realm automatically.
obj2 = realm.copyToRealmOrUpdate(obj2);
realm.commitTransaction();
Doc here might help.