//This file is automatically generated. DO NOT EDIT!
package com.robotraconteur.testing.TestService1;
import java.util.*;
import com.robotraconteur.*;
public class testroot_stub extends ServiceStub implements testroot, async_testroot {
    private CallbackClient<Action> rr_cb1;
    private CallbackClient<Action2<Double, Double>> rr_cb2;
    private CallbackClient<Func2<Double,Double,Double>> rr_cb3;
    private CallbackClient<Func<Integer>> rr_cb_meaning_of_life;
    private CallbackClient<Action> rr_cb_errtest;
    private Pipe<double[]> rr_p1;
    private Pipe<teststruct2> rr_p2;
    private Pipe<double[]> rr_broadcastpipe;
    private Wire<double[]> rr_w1;
    private Wire<teststruct2> rr_w2;
    private Wire<MultiDimArray> rr_w3;
    private Wire<double[]> rr_broadcastwire;
    private ArrayMemory<double[]> rr_m1;
    private MultiDimArrayMemory<double[]> rr_m2;
    private MultiDimArrayMemory<UnsignedBytes> rr_m3;
    public testroot_stub(WrappedServiceStub innerstub) {
        super(innerstub); 
    rr_cb1=new CallbackClient<Action>("cb1");
    rr_cb2=new CallbackClient<Action2<Double, Double>>("cb2");
    rr_cb3=new CallbackClient<Func2<Double,Double,Double>>("cb3");
    rr_cb_meaning_of_life=new CallbackClient<Func<Integer>>("cb_meaning_of_life");
    rr_cb_errtest=new CallbackClient<Action>("cb_errtest");
    rr_p1=new Pipe<double[]>(innerstub.getPipe("p1"));
    rr_p2=new Pipe<teststruct2>(innerstub.getPipe("p2"));
    rr_broadcastpipe=new Pipe<double[]>(innerstub.getPipe("broadcastpipe"));
    rr_w1=new Wire<double[]>(innerstub.getWire("w1"));
    rr_w2=new Wire<teststruct2>(innerstub.getWire("w2"));
    rr_w3=new Wire<MultiDimArray>(innerstub.getWire("w3"));
    rr_broadcastwire=new Wire<double[]>(innerstub.getWire("broadcastwire"));
    rr_m1=new ArrayMemoryClient<double[]>(innerstub.getArrayMemory("m1"));
    rr_m2=new MultiDimArrayMemoryClient<double[]>(innerstub.getMultiDimArrayMemory("m2"));
    rr_m3=new MultiDimArrayMemoryClient<UnsignedBytes>(innerstub.getMultiDimArrayMemory("m3"));
    }
    public double get_d1() {
    return (MessageElementUtil.<double[]>castDataAndDispose(rr_innerstub.propertyGet("d1")))[0];
    }
    public void set_d1(double value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<double[]>packArray("value",new double[] {value});
    rr_innerstub.propertySet("d1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public double[] get_d2() {
    return MessageElementUtil.<double[]>unpackArray(rr_innerstub.propertyGet("d2"));
    }
    public void set_d2(double[] value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<double[]>packArray("value",value);
    rr_innerstub.propertySet("d2", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public double[] get_d3() {
    return DataTypeUtil.verifyArrayLength(MessageElementUtil.<double[]>unpackArray(rr_innerstub.propertyGet("d3")), 16, false);
    }
    public void set_d3(double[] value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<double[]>packArray("value",DataTypeUtil.verifyArrayLength(value, 16, false));
    rr_innerstub.propertySet("d3", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public double[] get_d4() {
    return DataTypeUtil.verifyArrayLength(MessageElementUtil.<double[]>unpackArray(rr_innerstub.propertyGet("d4")), 16, true);
    }
    public void set_d4(double[] value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<double[]>packArray("value",DataTypeUtil.verifyArrayLength(value, 16, true));
    rr_innerstub.propertySet("d4", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public MultiDimArray get_d5() {
    return MessageElementUtil.unpackMultiDimArray(rr_innerstub.propertyGet("d5"));
    }
    public void set_d5(MultiDimArray value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packMultiDimArray("value",(MultiDimArray)value);
    rr_innerstub.propertySet("d5", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public MultiDimArray get_d6() {
    return DataTypeUtil.verifyArrayLength(MessageElementUtil.unpackMultiDimArray(rr_innerstub.propertyGet("d6")),9,new int[] {3,3});
    }
    public void set_d6(MultiDimArray value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packMultiDimArray("value",(MultiDimArray)DataTypeUtil.verifyArrayLength(value,9,new int[] {3,3}));
    rr_innerstub.propertySet("d6", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public float get_s1() {
    return (MessageElementUtil.<float[]>castDataAndDispose(rr_innerstub.propertyGet("s1")))[0];
    }
    public void set_s1(float value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<float[]>packArray("value",new float[] {value});
    rr_innerstub.propertySet("s1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public float[] get_s2() {
    return MessageElementUtil.<float[]>unpackArray(rr_innerstub.propertyGet("s2"));
    }
    public void set_s2(float[] value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<float[]>packArray("value",value);
    rr_innerstub.propertySet("s2", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public byte get_i8_1() {
    return (MessageElementUtil.<byte[]>castDataAndDispose(rr_innerstub.propertyGet("i8_1")))[0];
    }
    public void set_i8_1(byte value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<byte[]>packArray("value",new byte[] {value});
    rr_innerstub.propertySet("i8_1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public byte[] get_i8_2() {
    return MessageElementUtil.<byte[]>unpackArray(rr_innerstub.propertyGet("i8_2"));
    }
    public void set_i8_2(byte[] value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<byte[]>packArray("value",value);
    rr_innerstub.propertySet("i8_2", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public UnsignedByte get_u8_1() {
    return MessageElementUtil.<UnsignedBytes>castDataAndDispose(rr_innerstub.propertyGet("u8_1")).get(0);
    }
    public void set_u8_1(UnsignedByte value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<UnsignedBytes>packArray("value",value.array());
    rr_innerstub.propertySet("u8_1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public UnsignedBytes get_u8_2() {
    return MessageElementUtil.<UnsignedBytes>unpackArray(rr_innerstub.propertyGet("u8_2"));
    }
    public void set_u8_2(UnsignedBytes value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<UnsignedBytes>packArray("value",value);
    rr_innerstub.propertySet("u8_2", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public MultiDimArray get_u8_3() {
    return MessageElementUtil.unpackMultiDimArray(rr_innerstub.propertyGet("u8_3"));
    }
    public void set_u8_3(MultiDimArray value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packMultiDimArray("value",(MultiDimArray)value);
    rr_innerstub.propertySet("u8_3", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public short get_i16_1() {
    return (MessageElementUtil.<short[]>castDataAndDispose(rr_innerstub.propertyGet("i16_1")))[0];
    }
    public void set_i16_1(short value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<short[]>packArray("value",new short[] {value});
    rr_innerstub.propertySet("i16_1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public short[] get_i16_2() {
    return MessageElementUtil.<short[]>unpackArray(rr_innerstub.propertyGet("i16_2"));
    }
    public void set_i16_2(short[] value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<short[]>packArray("value",value);
    rr_innerstub.propertySet("i16_2", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public UnsignedShort get_u16_1() {
    return MessageElementUtil.<UnsignedShorts>castDataAndDispose(rr_innerstub.propertyGet("u16_1")).get(0);
    }
    public void set_u16_1(UnsignedShort value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<UnsignedShorts>packArray("value",value.array());
    rr_innerstub.propertySet("u16_1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public UnsignedShorts get_u16_2() {
    return MessageElementUtil.<UnsignedShorts>unpackArray(rr_innerstub.propertyGet("u16_2"));
    }
    public void set_u16_2(UnsignedShorts value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<UnsignedShorts>packArray("value",value);
    rr_innerstub.propertySet("u16_2", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public int get_i32_1() {
    return (MessageElementUtil.<int[]>castDataAndDispose(rr_innerstub.propertyGet("i32_1")))[0];
    }
    public void set_i32_1(int value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<int[]>packArray("value",new int[] {value});
    rr_innerstub.propertySet("i32_1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public int[] get_i32_2() {
    return MessageElementUtil.<int[]>unpackArray(rr_innerstub.propertyGet("i32_2"));
    }
    public void set_i32_2(int[] value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<int[]>packArray("value",value);
    rr_innerstub.propertySet("i32_2", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public int[] get_i32_huge() {
    return MessageElementUtil.<int[]>unpackArray(rr_innerstub.propertyGet("i32_huge"));
    }
    public void set_i32_huge(int[] value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<int[]>packArray("value",value);
    rr_innerstub.propertySet("i32_huge", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public UnsignedInt get_u32_1() {
    return MessageElementUtil.<UnsignedInts>castDataAndDispose(rr_innerstub.propertyGet("u32_1")).get(0);
    }
    public void set_u32_1(UnsignedInt value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<UnsignedInts>packArray("value",value.array());
    rr_innerstub.propertySet("u32_1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public UnsignedInts get_u32_2() {
    return MessageElementUtil.<UnsignedInts>unpackArray(rr_innerstub.propertyGet("u32_2"));
    }
    public void set_u32_2(UnsignedInts value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<UnsignedInts>packArray("value",value);
    rr_innerstub.propertySet("u32_2", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public long get_i64_1() {
    return (MessageElementUtil.<long[]>castDataAndDispose(rr_innerstub.propertyGet("i64_1")))[0];
    }
    public void set_i64_1(long value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<long[]>packArray("value",new long[] {value});
    rr_innerstub.propertySet("i64_1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public long[] get_i64_2() {
    return MessageElementUtil.<long[]>unpackArray(rr_innerstub.propertyGet("i64_2"));
    }
    public void set_i64_2(long[] value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<long[]>packArray("value",value);
    rr_innerstub.propertySet("i64_2", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public UnsignedLong get_u64_1() {
    return MessageElementUtil.<UnsignedLongs>castDataAndDispose(rr_innerstub.propertyGet("u64_1")).get(0);
    }
    public void set_u64_1(UnsignedLong value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<UnsignedLongs>packArray("value",value.array());
    rr_innerstub.propertySet("u64_1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public UnsignedLongs get_u64_2() {
    return MessageElementUtil.<UnsignedLongs>unpackArray(rr_innerstub.propertyGet("u64_2"));
    }
    public void set_u64_2(UnsignedLongs value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<UnsignedLongs>packArray("value",value);
    rr_innerstub.propertySet("u64_2", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public String get_str1() {
    return MessageElementUtil.unpackString(rr_innerstub.propertyGet("str1"));
    }
    public void set_str1(String value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packString("value",value);
    rr_innerstub.propertySet("str1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public teststruct1 get_struct1() {
    return MessageElementUtil.<teststruct1>unpackStructure(rr_innerstub.propertyGet("struct1"));
    }
    public void set_struct1(teststruct1 value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packStructure("value",value);
    rr_innerstub.propertySet("struct1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public teststruct2 get_struct2() {
    return MessageElementUtil.<teststruct2>unpackStructure(rr_innerstub.propertyGet("struct2"));
    }
    public void set_struct2(teststruct2 value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packStructure("value",value);
    rr_innerstub.propertySet("struct2", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Map<Integer,double[]> get_is_d1() {
    return MessageElementUtil.<Integer,double[]>unpackMapType(rr_innerstub.propertyGet("is_d1"));
    }
    public void set_is_d1(Map<Integer,double[]> value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<Integer,double[]>packMapType("value",value,Integer.class,double[].class);
    rr_innerstub.propertySet("is_d1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Map<String,double[]> get_is_d2() {
    return MessageElementUtil.<String,double[]>unpackMapType(rr_innerstub.propertyGet("is_d2"));
    }
    public void set_is_d2(Map<String,double[]> value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<String,double[]>packMapType("value",value,String.class,double[].class);
    rr_innerstub.propertySet("is_d2", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Map<Integer,double[]> get_is_d3() {
    return MessageElementUtil.<Integer,double[]>unpackMapType(rr_innerstub.propertyGet("is_d3"));
    }
    public void set_is_d3(Map<Integer,double[]> value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<Integer,double[]>packMapType("value",value,Integer.class,double[].class);
    rr_innerstub.propertySet("is_d3", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Map<String,double[]> get_is_d4() {
    return MessageElementUtil.<String,double[]>unpackMapType(rr_innerstub.propertyGet("is_d4"));
    }
    public void set_is_d4(Map<String,double[]> value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<String,double[]>packMapType("value",value,String.class,double[].class);
    rr_innerstub.propertySet("is_d4", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Map<Integer,MultiDimArray> get_is_d5() {
    return MessageElementUtil.<Integer,MultiDimArray>unpackMapType(rr_innerstub.propertyGet("is_d5"));
    }
    public void set_is_d5(Map<Integer,MultiDimArray> value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<Integer,MultiDimArray>packMapType("value",value,Integer.class,MultiDimArray.class);
    rr_innerstub.propertySet("is_d5", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Map<String,MultiDimArray> get_is_d6() {
    return MessageElementUtil.<String,MultiDimArray>unpackMapType(rr_innerstub.propertyGet("is_d6"));
    }
    public void set_is_d6(Map<String,MultiDimArray> value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<String,MultiDimArray>packMapType("value",value,String.class,MultiDimArray.class);
    rr_innerstub.propertySet("is_d6", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Map<Integer,String> get_is_str1() {
    return MessageElementUtil.<Integer,String>unpackMapType(rr_innerstub.propertyGet("is_str1"));
    }
    public void set_is_str1(Map<Integer,String> value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<Integer,String>packMapType("value",value,Integer.class,String.class);
    rr_innerstub.propertySet("is_str1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Map<String,String> get_is_str2() {
    return MessageElementUtil.<String,String>unpackMapType(rr_innerstub.propertyGet("is_str2"));
    }
    public void set_is_str2(Map<String,String> value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<String,String>packMapType("value",value,String.class,String.class);
    rr_innerstub.propertySet("is_str2", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Map<Integer,teststruct2> get_is_struct1() {
    return MessageElementUtil.<Integer,teststruct2>unpackMapType(rr_innerstub.propertyGet("is_struct1"));
    }
    public void set_is_struct1(Map<Integer,teststruct2> value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<Integer,teststruct2>packMapType("value",value,Integer.class,teststruct2.class);
    rr_innerstub.propertySet("is_struct1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Map<String,teststruct2> get_is_struct2() {
    return MessageElementUtil.<String,teststruct2>unpackMapType(rr_innerstub.propertyGet("is_struct2"));
    }
    public void set_is_struct2(Map<String,teststruct2> value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<String,teststruct2>packMapType("value",value,String.class,teststruct2.class);
    rr_innerstub.propertySet("is_struct2", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public com.robotraconteur.testing.TestService2.ostruct2 get_struct3() {
    return MessageElementUtil.<com.robotraconteur.testing.TestService2.ostruct2>unpackStructure(rr_innerstub.propertyGet("struct3"));
    }
    public void set_struct3(com.robotraconteur.testing.TestService2.ostruct2 value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packStructure("value",value);
    rr_innerstub.propertySet("struct3", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public List<double[]> get_list_d1() {
    return MessageElementUtil.<double[]>unpackListType(rr_innerstub.propertyGet("list_d1"));
    }
    public void set_list_d1(List<double[]> value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<double[]>packListType("value",value,double[].class);
    rr_innerstub.propertySet("list_d1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public List<double[]> get_list_d3() {
    return MessageElementUtil.<double[]>unpackListType(rr_innerstub.propertyGet("list_d3"));
    }
    public void set_list_d3(List<double[]> value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<double[]>packListType("value",value,double[].class);
    rr_innerstub.propertySet("list_d3", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public List<MultiDimArray> get_list_d5() {
    return MessageElementUtil.<MultiDimArray>unpackListType(rr_innerstub.propertyGet("list_d5"));
    }
    public void set_list_d5(List<MultiDimArray> value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<MultiDimArray>packListType("value",value,MultiDimArray.class);
    rr_innerstub.propertySet("list_d5", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public List<String> get_list_str1() {
    return MessageElementUtil.<String>unpackListType(rr_innerstub.propertyGet("list_str1"));
    }
    public void set_list_str1(List<String> value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<String>packListType("value",value,String.class);
    rr_innerstub.propertySet("list_str1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public List<teststruct2> get_list_struct1() {
    return MessageElementUtil.<teststruct2>unpackListType(rr_innerstub.propertyGet("list_struct1"));
    }
    public void set_list_struct1(List<teststruct2> value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<teststruct2>packListType("value",value,teststruct2.class);
    rr_innerstub.propertySet("list_struct1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Object get_var1() {
    return MessageElementUtil.unpackVarType(rr_innerstub.propertyGet("var1"));
    }
    public void set_var1(Object value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packVarType("value",value);
    rr_innerstub.propertySet("var1", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Map<Integer,Object> get_var2() {
    return MessageElementUtil.<Integer,Object>unpackMapType(rr_innerstub.propertyGet("var2"));
    }
    public void set_var2(Map<Integer,Object> value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<Integer,Object>packMapType("value",value,Integer.class,Object.class);
    rr_innerstub.propertySet("var2", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Object get_var_num() {
    return MessageElementUtil.unpackVarType(rr_innerstub.propertyGet("var_num"));
    }
    public void set_var_num(Object value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packVarType("value",value);
    rr_innerstub.propertySet("var_num", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Object get_var_str() {
    return MessageElementUtil.unpackVarType(rr_innerstub.propertyGet("var_str"));
    }
    public void set_var_str(Object value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packVarType("value",value);
    rr_innerstub.propertySet("var_str", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Object get_var_struct() {
    return MessageElementUtil.unpackVarType(rr_innerstub.propertyGet("var_struct"));
    }
    public void set_var_struct(Object value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packVarType("value",value);
    rr_innerstub.propertySet("var_struct", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Object get_var_vector() {
    return MessageElementUtil.unpackVarType(rr_innerstub.propertyGet("var_vector"));
    }
    public void set_var_vector(Object value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packVarType("value",value);
    rr_innerstub.propertySet("var_vector", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Object get_var_dictionary() {
    return MessageElementUtil.unpackVarType(rr_innerstub.propertyGet("var_dictionary"));
    }
    public void set_var_dictionary(Object value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packVarType("value",value);
    rr_innerstub.propertySet("var_dictionary", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Object get_var_list() {
    return MessageElementUtil.unpackVarType(rr_innerstub.propertyGet("var_list"));
    }
    public void set_var_list(Object value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packVarType("value",value);
    rr_innerstub.propertySet("var_list", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public Object get_var_multidimarray() {
    return MessageElementUtil.unpackVarType(rr_innerstub.propertyGet("var_multidimarray"));
    }
    public void set_var_multidimarray(Object value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packVarType("value",value);
    rr_innerstub.propertySet("var_multidimarray", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public double get_errtest() {
    return (MessageElementUtil.<double[]>castDataAndDispose(rr_innerstub.propertyGet("errtest")))[0];
    }
    public void set_errtest(double value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<double[]>packArray("value",new double[] {value});
    rr_innerstub.propertySet("errtest", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public teststruct1 get_nulltest() {
    return MessageElementUtil.<teststruct1>unpackStructure(rr_innerstub.propertyGet("nulltest"));
    }
    public void set_nulltest(teststruct1 value) {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packStructure("value",value);
    rr_innerstub.propertySet("nulltest", m);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    public void func1() {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    MessageElement rr_me=null;
    try {
    rr_me=rr_innerstub.functionCall("func1",rr_param);
    }
    finally {
    rr_param.delete();
    if (rr_me!=null) rr_me.delete();
    }
    }
    public void func2(double d1, double d2) {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    MessageElement rr_me=null;
    try {
    MessageElementUtil.addMessageElementDispose(rr_param, MessageElementUtil.<double[]>packArray("d1",new double[] {d1}));
    MessageElementUtil.addMessageElementDispose(rr_param, MessageElementUtil.<double[]>packArray("d2",new double[] {d2}));
    rr_me=rr_innerstub.functionCall("func2",rr_param);
    }
    finally {
    rr_param.delete();
    if (rr_me!=null) rr_me.delete();
    }
    }
    public double func3(double d1, double d2) {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    MessageElement rr_me=null;
    try {
    MessageElementUtil.addMessageElementDispose(rr_param, MessageElementUtil.<double[]>packArray("d1",new double[] {d1}));
    MessageElementUtil.addMessageElementDispose(rr_param, MessageElementUtil.<double[]>packArray("d2",new double[] {d2}));
    rr_me=rr_innerstub.functionCall("func3",rr_param);
    return (MessageElementUtil.<double[]>castDataAndDispose(rr_me))[0];
    }
    finally {
    rr_param.delete();
    if (rr_me!=null) rr_me.delete();
    }
    }
    public int meaning_of_life() {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    MessageElement rr_me=null;
    try {
    rr_me=rr_innerstub.functionCall("meaning_of_life",rr_param);
    return (MessageElementUtil.<int[]>castDataAndDispose(rr_me))[0];
    }
    finally {
    rr_param.delete();
    if (rr_me!=null) rr_me.delete();
    }
    }
    public void func_errtest() {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    MessageElement rr_me=null;
    try {
    rr_me=rr_innerstub.functionCall("func_errtest",rr_param);
    }
    finally {
    rr_param.delete();
    if (rr_me!=null) rr_me.delete();
    }
    }
    public void func_errtest1() {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    MessageElement rr_me=null;
    try {
    rr_me=rr_innerstub.functionCall("func_errtest1",rr_param);
    }
    finally {
    rr_param.delete();
    if (rr_me!=null) rr_me.delete();
    }
    }
    public void func_errtest2() {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    MessageElement rr_me=null;
    try {
    rr_me=rr_innerstub.functionCall("func_errtest2",rr_param);
    }
    finally {
    rr_param.delete();
    if (rr_me!=null) rr_me.delete();
    }
    }
    public void func_errtest3() {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    MessageElement rr_me=null;
    try {
    rr_me=rr_innerstub.functionCall("func_errtest3",rr_param);
    }
    finally {
    rr_param.delete();
    if (rr_me!=null) rr_me.delete();
    }
    }
    public void o6_op(int op) {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    MessageElement rr_me=null;
    try {
    MessageElementUtil.addMessageElementDispose(rr_param, MessageElementUtil.<int[]>packArray("op",new int[] {op}));
    rr_me=rr_innerstub.functionCall("o6_op",rr_param);
    }
    finally {
    rr_param.delete();
    if (rr_me!=null) rr_me.delete();
    }
    }
    public void pipe_check_error() {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    MessageElement rr_me=null;
    try {
    rr_me=rr_innerstub.functionCall("pipe_check_error",rr_param);
    }
    finally {
    rr_param.delete();
    if (rr_me!=null) rr_me.delete();
    }
    }
    public void test_callbacks() {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    MessageElement rr_me=null;
    try {
    rr_me=rr_innerstub.functionCall("test_callbacks",rr_param);
    }
    finally {
    rr_param.delete();
    if (rr_me!=null) rr_me.delete();
    }
    }
    private  Vector<Action> rr_ev1=new Vector<Action>();
    public void  addev1Listener(Action listener) {
    synchronized(rr_ev1) {
    rr_ev1.add(listener);
    }
    }
    public void  removeev1Listener(Action listener) {
    synchronized(rr_ev1) {
    rr_ev1.remove(listener);
    }
    }
    private  Vector<Action2<Double, teststruct2>> rr_ev2=new Vector<Action2<Double, teststruct2>>();
    public void  addev2Listener(Action2<Double, teststruct2> listener) {
    synchronized(rr_ev2) {
    rr_ev2.add(listener);
    }
    }
    public void  removeev2Listener(Action2<Double, teststruct2> listener) {
    synchronized(rr_ev2) {
    rr_ev2.remove(listener);
    }
    }
    public void dispatchEvent(String rr_membername, vectorptr_messageelement rr_m) {
    if(rr_membername.equals( "ev1"))
    {
    for (Action rr_e : this.rr_ev1) {
    rr_e.action();
    }
    return;
    }
    if(rr_membername.equals( "ev2"))
    {
    double d1=(MessageElementUtil.<double[]>castDataAndDispose(vectorptr_messageelement_util.findElement(rr_m,"d1")))[0];
    teststruct2 s2=MessageElementUtil.<teststruct2>unpackStructure(vectorptr_messageelement_util.findElement(rr_m,"s2"));
    for (Action2<Double, teststruct2> rr_e : this.rr_ev2) {
    rr_e.action(Double.valueOf(d1), s2);
    }
    return;
    }
    }
    public sub1 get_o1() {
    return (sub1)findObjRefTyped("o1","com.robotraconteur.testing.TestService1.sub1");
    }
    public sub1 get_o2(int ind) {
    return (sub1)findObjRefTyped("o2",String.valueOf(ind),"com.robotraconteur.testing.TestService1.sub1");
    }
    public sub1 get_o3(int ind) {
    return (sub1)findObjRefTyped("o3",String.valueOf(ind),"com.robotraconteur.testing.TestService1.sub1");
    }
    public sub1 get_o4(String ind) {
    return (sub1)findObjRefTyped("o4",String.valueOf(ind),"com.robotraconteur.testing.TestService1.sub1");
    }
    public com.robotraconteur.testing.TestService2.subobj get_o5() {
    return (com.robotraconteur.testing.TestService2.subobj)findObjRefTyped("o5","com.robotraconteur.testing.TestService2.subobj");
    }
    public Object get_o6() {
    return (Object)findObjRef("o6");
    }
    public Pipe<double[]> get_p1()
    { return rr_p1;  }
    public void set_p1(Pipe<double[]> value)
    { throw new RuntimeException();}
    public Pipe<teststruct2> get_p2()
    { return rr_p2;  }
    public void set_p2(Pipe<teststruct2> value)
    { throw new RuntimeException();}
    public Pipe<double[]> get_broadcastpipe()
    { return rr_broadcastpipe;  }
    public void set_broadcastpipe(Pipe<double[]> value)
    { throw new RuntimeException();}
    public Callback<Action> get_cb1()
    { return rr_cb1;  }
    public void set_cb1(Callback<Action> value)
    { throw new RuntimeException();}
    public Callback<Action2<Double, Double>> get_cb2()
    { return rr_cb2;  }
    public void set_cb2(Callback<Action2<Double, Double>> value)
    { throw new RuntimeException();}
    public Callback<Func2<Double,Double,Double>> get_cb3()
    { return rr_cb3;  }
    public void set_cb3(Callback<Func2<Double,Double,Double>> value)
    { throw new RuntimeException();}
    public Callback<Func<Integer>> get_cb_meaning_of_life()
    { return rr_cb_meaning_of_life;  }
    public void set_cb_meaning_of_life(Callback<Func<Integer>> value)
    { throw new RuntimeException();}
    public Callback<Action> get_cb_errtest()
    { return rr_cb_errtest;  }
    public void set_cb_errtest(Callback<Action> value)
    { throw new RuntimeException();}
    public Wire<double[]> get_w1()
    { return rr_w1;  }
    public void set_w1(Wire<double[]> value)
    { throw new RuntimeException();}
    public Wire<teststruct2> get_w2()
    { return rr_w2;  }
    public void set_w2(Wire<teststruct2> value)
    { throw new RuntimeException();}
    public Wire<MultiDimArray> get_w3()
    { return rr_w3;  }
    public void set_w3(Wire<MultiDimArray> value)
    { throw new RuntimeException();}
    public Wire<double[]> get_broadcastwire()
    { return rr_broadcastwire;  }
    public void set_broadcastwire(Wire<double[]> value)
    { throw new RuntimeException();}
    public MessageElement callbackCall(String rr_membername, vectorptr_messageelement rr_m) {
    if(rr_membername.equals( "cb1"))
    {
    get_cb1().getFunction().action();
    return new MessageElement("return",new int[] {0});
    }
    if(rr_membername.equals( "cb2"))
    {
    double d1=(MessageElementUtil.<double[]>castDataAndDispose(vectorptr_messageelement_util.findElement(rr_m,"d1")))[0];
    double d2=(MessageElementUtil.<double[]>castDataAndDispose(vectorptr_messageelement_util.findElement(rr_m,"d2")))[0];
    get_cb2().getFunction().action(Double.valueOf(d1), Double.valueOf(d2));
    return new MessageElement("return",new int[] {0});
    }
    if(rr_membername.equals( "cb3"))
    {
    double d1=(MessageElementUtil.<double[]>castDataAndDispose(vectorptr_messageelement_util.findElement(rr_m,"d1")))[0];
    double d2=(MessageElementUtil.<double[]>castDataAndDispose(vectorptr_messageelement_util.findElement(rr_m,"d2")))[0];
    double rr_ret=get_cb3().getFunction().func(Double.valueOf(d1), Double.valueOf(d2));
    return MessageElementUtil.<double[]>packArray("return",new double[] {rr_ret});
    }
    if(rr_membername.equals( "cb_meaning_of_life"))
    {
    int rr_ret=get_cb_meaning_of_life().getFunction().func();
    return MessageElementUtil.<int[]>packArray("return",new int[] {rr_ret});
    }
    if(rr_membername.equals( "cb_errtest"))
    {
    get_cb_errtest().getFunction().action();
    return new MessageElement("return",new int[] {0});
    }
    throw new MemberNotFoundException("Member not found");
    }
    public ArrayMemory<double[]> get_m1()
    { return rr_m1; }
    public MultiDimArrayMemory<double[]> get_m2()
    { return rr_m2; }
    public MultiDimArrayMemory<UnsignedBytes> get_m3()
    { return rr_m3; }
    public void async_get_d1(Action2<Double,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("d1",new rrend_async_get_d1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_d1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Double,RuntimeException> rr_handler=(Action2<Double,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(0.0,err);
    return;
    }
    Double rr_ret;
    try {
    rr_ret=(MessageElementUtil.<double[]>castDataAndDispose(value))[0];
    } catch (RuntimeException err2) {
    rr_handler.action(0.0,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_d1(double value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<double[]>packArray("value",new double[] {value});
    rr_async_PropertySet("d1",m,new rrend_async_set_d1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_d1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_d2(Action2<double[],RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("d2",new rrend_async_get_d2(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_d2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<double[],RuntimeException> rr_handler=(Action2<double[],RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    double[] rr_ret;
    try {
    rr_ret=MessageElementUtil.<double[]>unpackArray(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_d2(double[] value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<double[]>packArray("value",value);
    rr_async_PropertySet("d2",m,new rrend_async_set_d2(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_d2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_d3(Action2<double[],RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("d3",new rrend_async_get_d3(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_d3 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<double[],RuntimeException> rr_handler=(Action2<double[],RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    double[] rr_ret;
    try {
    rr_ret=DataTypeUtil.verifyArrayLength(MessageElementUtil.<double[]>unpackArray(value), 16, false);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_d3(double[] value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<double[]>packArray("value",DataTypeUtil.verifyArrayLength(value, 16, false));
    rr_async_PropertySet("d3",m,new rrend_async_set_d3(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_d3 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_d4(Action2<double[],RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("d4",new rrend_async_get_d4(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_d4 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<double[],RuntimeException> rr_handler=(Action2<double[],RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    double[] rr_ret;
    try {
    rr_ret=DataTypeUtil.verifyArrayLength(MessageElementUtil.<double[]>unpackArray(value), 16, true);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_d4(double[] value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<double[]>packArray("value",DataTypeUtil.verifyArrayLength(value, 16, true));
    rr_async_PropertySet("d4",m,new rrend_async_set_d4(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_d4 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_d5(Action2<MultiDimArray,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("d5",new rrend_async_get_d5(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_d5 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<MultiDimArray,RuntimeException> rr_handler=(Action2<MultiDimArray,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    MultiDimArray rr_ret;
    try {
    rr_ret=MessageElementUtil.unpackMultiDimArray(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_d5(MultiDimArray value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packMultiDimArray("value",(MultiDimArray)value);
    rr_async_PropertySet("d5",m,new rrend_async_set_d5(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_d5 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_d6(Action2<MultiDimArray,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("d6",new rrend_async_get_d6(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_d6 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<MultiDimArray,RuntimeException> rr_handler=(Action2<MultiDimArray,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    MultiDimArray rr_ret;
    try {
    rr_ret=DataTypeUtil.verifyArrayLength(MessageElementUtil.unpackMultiDimArray(value),9,new int[] {3,3});
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_d6(MultiDimArray value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packMultiDimArray("value",(MultiDimArray)DataTypeUtil.verifyArrayLength(value,9,new int[] {3,3}));
    rr_async_PropertySet("d6",m,new rrend_async_set_d6(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_d6 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_s1(Action2<Float,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("s1",new rrend_async_get_s1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_s1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Float,RuntimeException> rr_handler=(Action2<Float,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action((float)0.0,err);
    return;
    }
    Float rr_ret;
    try {
    rr_ret=(MessageElementUtil.<float[]>castDataAndDispose(value))[0];
    } catch (RuntimeException err2) {
    rr_handler.action((float)0.0,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_s1(float value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<float[]>packArray("value",new float[] {value});
    rr_async_PropertySet("s1",m,new rrend_async_set_s1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_s1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_s2(Action2<float[],RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("s2",new rrend_async_get_s2(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_s2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<float[],RuntimeException> rr_handler=(Action2<float[],RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    float[] rr_ret;
    try {
    rr_ret=MessageElementUtil.<float[]>unpackArray(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_s2(float[] value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<float[]>packArray("value",value);
    rr_async_PropertySet("s2",m,new rrend_async_set_s2(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_s2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_i8_1(Action2<Byte,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("i8_1",new rrend_async_get_i8_1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_i8_1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Byte,RuntimeException> rr_handler=(Action2<Byte,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action((byte)0,err);
    return;
    }
    Byte rr_ret;
    try {
    rr_ret=(MessageElementUtil.<byte[]>castDataAndDispose(value))[0];
    } catch (RuntimeException err2) {
    rr_handler.action((byte)0,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_i8_1(byte value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<byte[]>packArray("value",new byte[] {value});
    rr_async_PropertySet("i8_1",m,new rrend_async_set_i8_1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_i8_1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_i8_2(Action2<byte[],RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("i8_2",new rrend_async_get_i8_2(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_i8_2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<byte[],RuntimeException> rr_handler=(Action2<byte[],RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    byte[] rr_ret;
    try {
    rr_ret=MessageElementUtil.<byte[]>unpackArray(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_i8_2(byte[] value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<byte[]>packArray("value",value);
    rr_async_PropertySet("i8_2",m,new rrend_async_set_i8_2(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_i8_2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_u8_1(Action2<UnsignedByte,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("u8_1",new rrend_async_get_u8_1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_u8_1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<UnsignedByte,RuntimeException> rr_handler=(Action2<UnsignedByte,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(new UnsignedByte((byte)0),err);
    return;
    }
    UnsignedByte rr_ret;
    try {
    rr_ret=MessageElementUtil.<UnsignedBytes>castDataAndDispose(value).get(0);
    } catch (RuntimeException err2) {
    rr_handler.action(new UnsignedByte((byte)0),err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_u8_1(UnsignedByte value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<UnsignedBytes>packArray("value",value.array());
    rr_async_PropertySet("u8_1",m,new rrend_async_set_u8_1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_u8_1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_u8_2(Action2<UnsignedBytes,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("u8_2",new rrend_async_get_u8_2(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_u8_2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<UnsignedBytes,RuntimeException> rr_handler=(Action2<UnsignedBytes,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    UnsignedBytes rr_ret;
    try {
    rr_ret=MessageElementUtil.<UnsignedBytes>unpackArray(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_u8_2(UnsignedBytes value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<UnsignedBytes>packArray("value",value);
    rr_async_PropertySet("u8_2",m,new rrend_async_set_u8_2(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_u8_2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_u8_3(Action2<MultiDimArray,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("u8_3",new rrend_async_get_u8_3(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_u8_3 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<MultiDimArray,RuntimeException> rr_handler=(Action2<MultiDimArray,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    MultiDimArray rr_ret;
    try {
    rr_ret=MessageElementUtil.unpackMultiDimArray(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_u8_3(MultiDimArray value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packMultiDimArray("value",(MultiDimArray)value);
    rr_async_PropertySet("u8_3",m,new rrend_async_set_u8_3(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_u8_3 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_i16_1(Action2<Short,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("i16_1",new rrend_async_get_i16_1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_i16_1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Short,RuntimeException> rr_handler=(Action2<Short,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action((short)0,err);
    return;
    }
    Short rr_ret;
    try {
    rr_ret=(MessageElementUtil.<short[]>castDataAndDispose(value))[0];
    } catch (RuntimeException err2) {
    rr_handler.action((short)0,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_i16_1(short value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<short[]>packArray("value",new short[] {value});
    rr_async_PropertySet("i16_1",m,new rrend_async_set_i16_1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_i16_1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_i16_2(Action2<short[],RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("i16_2",new rrend_async_get_i16_2(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_i16_2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<short[],RuntimeException> rr_handler=(Action2<short[],RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    short[] rr_ret;
    try {
    rr_ret=MessageElementUtil.<short[]>unpackArray(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_i16_2(short[] value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<short[]>packArray("value",value);
    rr_async_PropertySet("i16_2",m,new rrend_async_set_i16_2(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_i16_2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_u16_1(Action2<UnsignedShort,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("u16_1",new rrend_async_get_u16_1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_u16_1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<UnsignedShort,RuntimeException> rr_handler=(Action2<UnsignedShort,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(new UnsignedShort((short)0),err);
    return;
    }
    UnsignedShort rr_ret;
    try {
    rr_ret=MessageElementUtil.<UnsignedShorts>castDataAndDispose(value).get(0);
    } catch (RuntimeException err2) {
    rr_handler.action(new UnsignedShort((short)0),err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_u16_1(UnsignedShort value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<UnsignedShorts>packArray("value",value.array());
    rr_async_PropertySet("u16_1",m,new rrend_async_set_u16_1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_u16_1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_u16_2(Action2<UnsignedShorts,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("u16_2",new rrend_async_get_u16_2(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_u16_2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<UnsignedShorts,RuntimeException> rr_handler=(Action2<UnsignedShorts,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    UnsignedShorts rr_ret;
    try {
    rr_ret=MessageElementUtil.<UnsignedShorts>unpackArray(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_u16_2(UnsignedShorts value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<UnsignedShorts>packArray("value",value);
    rr_async_PropertySet("u16_2",m,new rrend_async_set_u16_2(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_u16_2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_i32_1(Action2<Integer,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("i32_1",new rrend_async_get_i32_1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_i32_1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Integer,RuntimeException> rr_handler=(Action2<Integer,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action((int)0,err);
    return;
    }
    Integer rr_ret;
    try {
    rr_ret=(MessageElementUtil.<int[]>castDataAndDispose(value))[0];
    } catch (RuntimeException err2) {
    rr_handler.action((int)0,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_i32_1(int value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<int[]>packArray("value",new int[] {value});
    rr_async_PropertySet("i32_1",m,new rrend_async_set_i32_1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_i32_1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_i32_2(Action2<int[],RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("i32_2",new rrend_async_get_i32_2(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_i32_2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<int[],RuntimeException> rr_handler=(Action2<int[],RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    int[] rr_ret;
    try {
    rr_ret=MessageElementUtil.<int[]>unpackArray(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_i32_2(int[] value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<int[]>packArray("value",value);
    rr_async_PropertySet("i32_2",m,new rrend_async_set_i32_2(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_i32_2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_i32_huge(Action2<int[],RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("i32_huge",new rrend_async_get_i32_huge(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_i32_huge implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<int[],RuntimeException> rr_handler=(Action2<int[],RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    int[] rr_ret;
    try {
    rr_ret=MessageElementUtil.<int[]>unpackArray(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_i32_huge(int[] value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<int[]>packArray("value",value);
    rr_async_PropertySet("i32_huge",m,new rrend_async_set_i32_huge(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_i32_huge implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_u32_1(Action2<UnsignedInt,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("u32_1",new rrend_async_get_u32_1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_u32_1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<UnsignedInt,RuntimeException> rr_handler=(Action2<UnsignedInt,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(new UnsignedInt((int)0),err);
    return;
    }
    UnsignedInt rr_ret;
    try {
    rr_ret=MessageElementUtil.<UnsignedInts>castDataAndDispose(value).get(0);
    } catch (RuntimeException err2) {
    rr_handler.action(new UnsignedInt((int)0),err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_u32_1(UnsignedInt value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<UnsignedInts>packArray("value",value.array());
    rr_async_PropertySet("u32_1",m,new rrend_async_set_u32_1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_u32_1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_u32_2(Action2<UnsignedInts,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("u32_2",new rrend_async_get_u32_2(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_u32_2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<UnsignedInts,RuntimeException> rr_handler=(Action2<UnsignedInts,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    UnsignedInts rr_ret;
    try {
    rr_ret=MessageElementUtil.<UnsignedInts>unpackArray(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_u32_2(UnsignedInts value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<UnsignedInts>packArray("value",value);
    rr_async_PropertySet("u32_2",m,new rrend_async_set_u32_2(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_u32_2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_i64_1(Action2<Long,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("i64_1",new rrend_async_get_i64_1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_i64_1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Long,RuntimeException> rr_handler=(Action2<Long,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action((long)0,err);
    return;
    }
    Long rr_ret;
    try {
    rr_ret=(MessageElementUtil.<long[]>castDataAndDispose(value))[0];
    } catch (RuntimeException err2) {
    rr_handler.action((long)0,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_i64_1(long value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<long[]>packArray("value",new long[] {value});
    rr_async_PropertySet("i64_1",m,new rrend_async_set_i64_1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_i64_1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_i64_2(Action2<long[],RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("i64_2",new rrend_async_get_i64_2(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_i64_2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<long[],RuntimeException> rr_handler=(Action2<long[],RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    long[] rr_ret;
    try {
    rr_ret=MessageElementUtil.<long[]>unpackArray(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_i64_2(long[] value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<long[]>packArray("value",value);
    rr_async_PropertySet("i64_2",m,new rrend_async_set_i64_2(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_i64_2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_u64_1(Action2<UnsignedLong,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("u64_1",new rrend_async_get_u64_1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_u64_1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<UnsignedLong,RuntimeException> rr_handler=(Action2<UnsignedLong,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(new UnsignedLong((long)0),err);
    return;
    }
    UnsignedLong rr_ret;
    try {
    rr_ret=MessageElementUtil.<UnsignedLongs>castDataAndDispose(value).get(0);
    } catch (RuntimeException err2) {
    rr_handler.action(new UnsignedLong((long)0),err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_u64_1(UnsignedLong value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<UnsignedLongs>packArray("value",value.array());
    rr_async_PropertySet("u64_1",m,new rrend_async_set_u64_1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_u64_1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_u64_2(Action2<UnsignedLongs,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("u64_2",new rrend_async_get_u64_2(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_u64_2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<UnsignedLongs,RuntimeException> rr_handler=(Action2<UnsignedLongs,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    UnsignedLongs rr_ret;
    try {
    rr_ret=MessageElementUtil.<UnsignedLongs>unpackArray(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_u64_2(UnsignedLongs value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<UnsignedLongs>packArray("value",value);
    rr_async_PropertySet("u64_2",m,new rrend_async_set_u64_2(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_u64_2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_str1(Action2<String,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("str1",new rrend_async_get_str1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_str1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<String,RuntimeException> rr_handler=(Action2<String,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action("",err);
    return;
    }
    String rr_ret;
    try {
    rr_ret=MessageElementUtil.unpackString(value);
    } catch (RuntimeException err2) {
    rr_handler.action("",err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_str1(String value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packString("value",value);
    rr_async_PropertySet("str1",m,new rrend_async_set_str1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_str1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_struct1(Action2<teststruct1,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("struct1",new rrend_async_get_struct1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_struct1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<teststruct1,RuntimeException> rr_handler=(Action2<teststruct1,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    teststruct1 rr_ret;
    try {
    rr_ret=MessageElementUtil.<teststruct1>unpackStructure(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_struct1(teststruct1 value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packStructure("value",value);
    rr_async_PropertySet("struct1",m,new rrend_async_set_struct1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_struct1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_struct2(Action2<teststruct2,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("struct2",new rrend_async_get_struct2(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_struct2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<teststruct2,RuntimeException> rr_handler=(Action2<teststruct2,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    teststruct2 rr_ret;
    try {
    rr_ret=MessageElementUtil.<teststruct2>unpackStructure(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_struct2(teststruct2 value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packStructure("value",value);
    rr_async_PropertySet("struct2",m,new rrend_async_set_struct2(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_struct2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_is_d1(Action2<Map<Integer,double[]>,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("is_d1",new rrend_async_get_is_d1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_is_d1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Map<Integer,double[]>,RuntimeException> rr_handler=(Action2<Map<Integer,double[]>,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Map<Integer,double[]> rr_ret;
    try {
    rr_ret=MessageElementUtil.<Integer,double[]>unpackMapType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_is_d1(Map<Integer,double[]> value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<Integer,double[]>packMapType("value",value,Integer.class,double[].class);
    rr_async_PropertySet("is_d1",m,new rrend_async_set_is_d1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_is_d1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_is_d2(Action2<Map<String,double[]>,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("is_d2",new rrend_async_get_is_d2(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_is_d2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Map<String,double[]>,RuntimeException> rr_handler=(Action2<Map<String,double[]>,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Map<String,double[]> rr_ret;
    try {
    rr_ret=MessageElementUtil.<String,double[]>unpackMapType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_is_d2(Map<String,double[]> value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<String,double[]>packMapType("value",value,String.class,double[].class);
    rr_async_PropertySet("is_d2",m,new rrend_async_set_is_d2(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_is_d2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_is_d3(Action2<Map<Integer,double[]>,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("is_d3",new rrend_async_get_is_d3(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_is_d3 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Map<Integer,double[]>,RuntimeException> rr_handler=(Action2<Map<Integer,double[]>,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Map<Integer,double[]> rr_ret;
    try {
    rr_ret=MessageElementUtil.<Integer,double[]>unpackMapType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_is_d3(Map<Integer,double[]> value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<Integer,double[]>packMapType("value",value,Integer.class,double[].class);
    rr_async_PropertySet("is_d3",m,new rrend_async_set_is_d3(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_is_d3 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_is_d4(Action2<Map<String,double[]>,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("is_d4",new rrend_async_get_is_d4(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_is_d4 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Map<String,double[]>,RuntimeException> rr_handler=(Action2<Map<String,double[]>,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Map<String,double[]> rr_ret;
    try {
    rr_ret=MessageElementUtil.<String,double[]>unpackMapType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_is_d4(Map<String,double[]> value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<String,double[]>packMapType("value",value,String.class,double[].class);
    rr_async_PropertySet("is_d4",m,new rrend_async_set_is_d4(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_is_d4 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_is_d5(Action2<Map<Integer,MultiDimArray>,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("is_d5",new rrend_async_get_is_d5(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_is_d5 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Map<Integer,MultiDimArray>,RuntimeException> rr_handler=(Action2<Map<Integer,MultiDimArray>,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Map<Integer,MultiDimArray> rr_ret;
    try {
    rr_ret=MessageElementUtil.<Integer,MultiDimArray>unpackMapType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_is_d5(Map<Integer,MultiDimArray> value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<Integer,MultiDimArray>packMapType("value",value,Integer.class,MultiDimArray.class);
    rr_async_PropertySet("is_d5",m,new rrend_async_set_is_d5(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_is_d5 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_is_d6(Action2<Map<String,MultiDimArray>,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("is_d6",new rrend_async_get_is_d6(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_is_d6 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Map<String,MultiDimArray>,RuntimeException> rr_handler=(Action2<Map<String,MultiDimArray>,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Map<String,MultiDimArray> rr_ret;
    try {
    rr_ret=MessageElementUtil.<String,MultiDimArray>unpackMapType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_is_d6(Map<String,MultiDimArray> value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<String,MultiDimArray>packMapType("value",value,String.class,MultiDimArray.class);
    rr_async_PropertySet("is_d6",m,new rrend_async_set_is_d6(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_is_d6 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_is_str1(Action2<Map<Integer,String>,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("is_str1",new rrend_async_get_is_str1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_is_str1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Map<Integer,String>,RuntimeException> rr_handler=(Action2<Map<Integer,String>,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Map<Integer,String> rr_ret;
    try {
    rr_ret=MessageElementUtil.<Integer,String>unpackMapType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_is_str1(Map<Integer,String> value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<Integer,String>packMapType("value",value,Integer.class,String.class);
    rr_async_PropertySet("is_str1",m,new rrend_async_set_is_str1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_is_str1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_is_str2(Action2<Map<String,String>,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("is_str2",new rrend_async_get_is_str2(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_is_str2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Map<String,String>,RuntimeException> rr_handler=(Action2<Map<String,String>,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Map<String,String> rr_ret;
    try {
    rr_ret=MessageElementUtil.<String,String>unpackMapType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_is_str2(Map<String,String> value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<String,String>packMapType("value",value,String.class,String.class);
    rr_async_PropertySet("is_str2",m,new rrend_async_set_is_str2(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_is_str2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_is_struct1(Action2<Map<Integer,teststruct2>,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("is_struct1",new rrend_async_get_is_struct1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_is_struct1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Map<Integer,teststruct2>,RuntimeException> rr_handler=(Action2<Map<Integer,teststruct2>,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Map<Integer,teststruct2> rr_ret;
    try {
    rr_ret=MessageElementUtil.<Integer,teststruct2>unpackMapType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_is_struct1(Map<Integer,teststruct2> value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<Integer,teststruct2>packMapType("value",value,Integer.class,teststruct2.class);
    rr_async_PropertySet("is_struct1",m,new rrend_async_set_is_struct1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_is_struct1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_is_struct2(Action2<Map<String,teststruct2>,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("is_struct2",new rrend_async_get_is_struct2(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_is_struct2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Map<String,teststruct2>,RuntimeException> rr_handler=(Action2<Map<String,teststruct2>,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Map<String,teststruct2> rr_ret;
    try {
    rr_ret=MessageElementUtil.<String,teststruct2>unpackMapType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_is_struct2(Map<String,teststruct2> value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<String,teststruct2>packMapType("value",value,String.class,teststruct2.class);
    rr_async_PropertySet("is_struct2",m,new rrend_async_set_is_struct2(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_is_struct2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_struct3(Action2<com.robotraconteur.testing.TestService2.ostruct2,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("struct3",new rrend_async_get_struct3(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_struct3 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<com.robotraconteur.testing.TestService2.ostruct2,RuntimeException> rr_handler=(Action2<com.robotraconteur.testing.TestService2.ostruct2,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    com.robotraconteur.testing.TestService2.ostruct2 rr_ret;
    try {
    rr_ret=MessageElementUtil.<com.robotraconteur.testing.TestService2.ostruct2>unpackStructure(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_struct3(com.robotraconteur.testing.TestService2.ostruct2 value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packStructure("value",value);
    rr_async_PropertySet("struct3",m,new rrend_async_set_struct3(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_struct3 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_list_d1(Action2<List<double[]>,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("list_d1",new rrend_async_get_list_d1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_list_d1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<List<double[]>,RuntimeException> rr_handler=(Action2<List<double[]>,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    List<double[]> rr_ret;
    try {
    rr_ret=MessageElementUtil.<double[]>unpackListType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_list_d1(List<double[]> value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<double[]>packListType("value",value,double[].class);
    rr_async_PropertySet("list_d1",m,new rrend_async_set_list_d1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_list_d1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_list_d3(Action2<List<double[]>,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("list_d3",new rrend_async_get_list_d3(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_list_d3 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<List<double[]>,RuntimeException> rr_handler=(Action2<List<double[]>,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    List<double[]> rr_ret;
    try {
    rr_ret=MessageElementUtil.<double[]>unpackListType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_list_d3(List<double[]> value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<double[]>packListType("value",value,double[].class);
    rr_async_PropertySet("list_d3",m,new rrend_async_set_list_d3(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_list_d3 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_list_d5(Action2<List<MultiDimArray>,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("list_d5",new rrend_async_get_list_d5(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_list_d5 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<List<MultiDimArray>,RuntimeException> rr_handler=(Action2<List<MultiDimArray>,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    List<MultiDimArray> rr_ret;
    try {
    rr_ret=MessageElementUtil.<MultiDimArray>unpackListType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_list_d5(List<MultiDimArray> value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<MultiDimArray>packListType("value",value,MultiDimArray.class);
    rr_async_PropertySet("list_d5",m,new rrend_async_set_list_d5(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_list_d5 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_list_str1(Action2<List<String>,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("list_str1",new rrend_async_get_list_str1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_list_str1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<List<String>,RuntimeException> rr_handler=(Action2<List<String>,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    List<String> rr_ret;
    try {
    rr_ret=MessageElementUtil.<String>unpackListType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_list_str1(List<String> value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<String>packListType("value",value,String.class);
    rr_async_PropertySet("list_str1",m,new rrend_async_set_list_str1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_list_str1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_list_struct1(Action2<List<teststruct2>,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("list_struct1",new rrend_async_get_list_struct1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_list_struct1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<List<teststruct2>,RuntimeException> rr_handler=(Action2<List<teststruct2>,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    List<teststruct2> rr_ret;
    try {
    rr_ret=MessageElementUtil.<teststruct2>unpackListType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_list_struct1(List<teststruct2> value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<teststruct2>packListType("value",value,teststruct2.class);
    rr_async_PropertySet("list_struct1",m,new rrend_async_set_list_struct1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_list_struct1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_var1(Action2<Object,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("var1",new rrend_async_get_var1(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_var1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Object,RuntimeException> rr_handler=(Action2<Object,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Object rr_ret;
    try {
    rr_ret=MessageElementUtil.unpackVarType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_var1(Object value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packVarType("value",value);
    rr_async_PropertySet("var1",m,new rrend_async_set_var1(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_var1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_var2(Action2<Map<Integer,Object>,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("var2",new rrend_async_get_var2(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_var2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Map<Integer,Object>,RuntimeException> rr_handler=(Action2<Map<Integer,Object>,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Map<Integer,Object> rr_ret;
    try {
    rr_ret=MessageElementUtil.<Integer,Object>unpackMapType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_var2(Map<Integer,Object> value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<Integer,Object>packMapType("value",value,Integer.class,Object.class);
    rr_async_PropertySet("var2",m,new rrend_async_set_var2(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_var2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_var_num(Action2<Object,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("var_num",new rrend_async_get_var_num(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_var_num implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Object,RuntimeException> rr_handler=(Action2<Object,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Object rr_ret;
    try {
    rr_ret=MessageElementUtil.unpackVarType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_var_num(Object value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packVarType("value",value);
    rr_async_PropertySet("var_num",m,new rrend_async_set_var_num(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_var_num implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_var_str(Action2<Object,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("var_str",new rrend_async_get_var_str(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_var_str implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Object,RuntimeException> rr_handler=(Action2<Object,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Object rr_ret;
    try {
    rr_ret=MessageElementUtil.unpackVarType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_var_str(Object value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packVarType("value",value);
    rr_async_PropertySet("var_str",m,new rrend_async_set_var_str(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_var_str implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_var_struct(Action2<Object,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("var_struct",new rrend_async_get_var_struct(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_var_struct implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Object,RuntimeException> rr_handler=(Action2<Object,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Object rr_ret;
    try {
    rr_ret=MessageElementUtil.unpackVarType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_var_struct(Object value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packVarType("value",value);
    rr_async_PropertySet("var_struct",m,new rrend_async_set_var_struct(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_var_struct implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_var_vector(Action2<Object,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("var_vector",new rrend_async_get_var_vector(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_var_vector implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Object,RuntimeException> rr_handler=(Action2<Object,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Object rr_ret;
    try {
    rr_ret=MessageElementUtil.unpackVarType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_var_vector(Object value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packVarType("value",value);
    rr_async_PropertySet("var_vector",m,new rrend_async_set_var_vector(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_var_vector implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_var_dictionary(Action2<Object,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("var_dictionary",new rrend_async_get_var_dictionary(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_var_dictionary implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Object,RuntimeException> rr_handler=(Action2<Object,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Object rr_ret;
    try {
    rr_ret=MessageElementUtil.unpackVarType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_var_dictionary(Object value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packVarType("value",value);
    rr_async_PropertySet("var_dictionary",m,new rrend_async_set_var_dictionary(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_var_dictionary implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_var_list(Action2<Object,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("var_list",new rrend_async_get_var_list(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_var_list implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Object,RuntimeException> rr_handler=(Action2<Object,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Object rr_ret;
    try {
    rr_ret=MessageElementUtil.unpackVarType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_var_list(Object value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packVarType("value",value);
    rr_async_PropertySet("var_list",m,new rrend_async_set_var_list(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_var_list implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_var_multidimarray(Action2<Object,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("var_multidimarray",new rrend_async_get_var_multidimarray(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_var_multidimarray implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Object,RuntimeException> rr_handler=(Action2<Object,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    Object rr_ret;
    try {
    rr_ret=MessageElementUtil.unpackVarType(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_var_multidimarray(Object value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packVarType("value",value);
    rr_async_PropertySet("var_multidimarray",m,new rrend_async_set_var_multidimarray(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_var_multidimarray implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_errtest(Action2<Double,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("errtest",new rrend_async_get_errtest(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_errtest implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<Double,RuntimeException> rr_handler=(Action2<Double,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(0.0,err);
    return;
    }
    Double rr_ret;
    try {
    rr_ret=(MessageElementUtil.<double[]>castDataAndDispose(value))[0];
    } catch (RuntimeException err2) {
    rr_handler.action(0.0,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_errtest(double value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.<double[]>packArray("value",new double[] {value});
    rr_async_PropertySet("errtest",m,new rrend_async_set_errtest(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_errtest implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_nulltest(Action2<teststruct1,RuntimeException> rr_handler, int rr_timeout)
    {
    rr_async_PropertyGet("nulltest",new rrend_async_get_nulltest(),rr_handler,rr_timeout);
    }
    protected class rrend_async_get_nulltest implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement value ,RuntimeException err,Object param)
    {
    Action2<teststruct1,RuntimeException> rr_handler=(Action2<teststruct1,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(null,err);
    return;
    }
    teststruct1 rr_ret;
    try {
    rr_ret=MessageElementUtil.<teststruct1>unpackStructure(value);
    } catch (RuntimeException err2) {
    rr_handler.action(null,err2);
    return;
    }
    rr_handler.action(rr_ret,null);
    }
    }
    public void async_set_nulltest(teststruct1 value, Action1<RuntimeException> rr_handler, int rr_timeout)
    {
    MessageElement m=null;
    try {
    m=MessageElementUtil.packStructure("value",value);
    rr_async_PropertySet("nulltest",m,new rrend_async_set_nulltest(),rr_handler,rr_timeout);
    }
    finally {
    if (m!=null) m.delete();
    }
    }
    protected class rrend_async_set_nulltest implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement m ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_func1(Action1<RuntimeException> rr_handler,int rr_timeout)
    {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    try {
    rr_async_FunctionCall("func1",rr_param,new rrend_async_func1(),rr_handler,rr_timeout);
    }
    finally {
    rr_param.delete();
    }
    }
    protected class rrend_async_func1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement ret ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_func2(double d1, double d2,Action1<RuntimeException> rr_handler,int rr_timeout)
    {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    try {
    MessageElementUtil.addMessageElementDispose(rr_param,MessageElementUtil.<double[]>packArray("d1",new double[] {d1}));
    MessageElementUtil.addMessageElementDispose(rr_param,MessageElementUtil.<double[]>packArray("d2",new double[] {d2}));
    rr_async_FunctionCall("func2",rr_param,new rrend_async_func2(),rr_handler,rr_timeout);
    }
    finally {
    rr_param.delete();
    }
    }
    protected class rrend_async_func2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement ret ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_func3(double d1, double d2,Action2<Double,RuntimeException> rr_handler,int rr_timeout)
    {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    try {
    MessageElementUtil.addMessageElementDispose(rr_param,MessageElementUtil.<double[]>packArray("d1",new double[] {d1}));
    MessageElementUtil.addMessageElementDispose(rr_param,MessageElementUtil.<double[]>packArray("d2",new double[] {d2}));
    rr_async_FunctionCall("func3",rr_param,new rrend_async_func3(),rr_handler,rr_timeout);
    }
    finally {
    rr_param.delete();
    }
    }
    protected class rrend_async_func3 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement ret ,RuntimeException err,Object param)
    {
    Action2<Double,RuntimeException> rr_handler=(Action2<Double,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(0.0,err);
    return;
    }
    Double rr_ret;
    try {
    rr_ret=(MessageElementUtil.<double[]>castDataAndDispose(ret))[0];
    } catch (RuntimeException err2) {
    rr_handler.action(0.0,err2);
    return;
    }
    rr_handler.action(rr_ret, null);
    }
    }
    public void async_meaning_of_life(Action2<Integer,RuntimeException> rr_handler,int rr_timeout)
    {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    try {
    rr_async_FunctionCall("meaning_of_life",rr_param,new rrend_async_meaning_of_life(),rr_handler,rr_timeout);
    }
    finally {
    rr_param.delete();
    }
    }
    protected class rrend_async_meaning_of_life implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement ret ,RuntimeException err,Object param)
    {
    Action2<Integer,RuntimeException> rr_handler=(Action2<Integer,RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action((int)0,err);
    return;
    }
    Integer rr_ret;
    try {
    rr_ret=(MessageElementUtil.<int[]>castDataAndDispose(ret))[0];
    } catch (RuntimeException err2) {
    rr_handler.action((int)0,err2);
    return;
    }
    rr_handler.action(rr_ret, null);
    }
    }
    public void async_func_errtest(Action1<RuntimeException> rr_handler,int rr_timeout)
    {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    try {
    rr_async_FunctionCall("func_errtest",rr_param,new rrend_async_func_errtest(),rr_handler,rr_timeout);
    }
    finally {
    rr_param.delete();
    }
    }
    protected class rrend_async_func_errtest implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement ret ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_func_errtest1(Action1<RuntimeException> rr_handler,int rr_timeout)
    {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    try {
    rr_async_FunctionCall("func_errtest1",rr_param,new rrend_async_func_errtest1(),rr_handler,rr_timeout);
    }
    finally {
    rr_param.delete();
    }
    }
    protected class rrend_async_func_errtest1 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement ret ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_func_errtest2(Action1<RuntimeException> rr_handler,int rr_timeout)
    {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    try {
    rr_async_FunctionCall("func_errtest2",rr_param,new rrend_async_func_errtest2(),rr_handler,rr_timeout);
    }
    finally {
    rr_param.delete();
    }
    }
    protected class rrend_async_func_errtest2 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement ret ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_func_errtest3(Action1<RuntimeException> rr_handler,int rr_timeout)
    {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    try {
    rr_async_FunctionCall("func_errtest3",rr_param,new rrend_async_func_errtest3(),rr_handler,rr_timeout);
    }
    finally {
    rr_param.delete();
    }
    }
    protected class rrend_async_func_errtest3 implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement ret ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_o6_op(int op,Action1<RuntimeException> rr_handler,int rr_timeout)
    {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    try {
    MessageElementUtil.addMessageElementDispose(rr_param,MessageElementUtil.<int[]>packArray("op",new int[] {op}));
    rr_async_FunctionCall("o6_op",rr_param,new rrend_async_o6_op(),rr_handler,rr_timeout);
    }
    finally {
    rr_param.delete();
    }
    }
    protected class rrend_async_o6_op implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement ret ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_pipe_check_error(Action1<RuntimeException> rr_handler,int rr_timeout)
    {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    try {
    rr_async_FunctionCall("pipe_check_error",rr_param,new rrend_async_pipe_check_error(),rr_handler,rr_timeout);
    }
    finally {
    rr_param.delete();
    }
    }
    protected class rrend_async_pipe_check_error implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement ret ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_test_callbacks(Action1<RuntimeException> rr_handler,int rr_timeout)
    {
    vectorptr_messageelement rr_param=new vectorptr_messageelement();
    try {
    rr_async_FunctionCall("test_callbacks",rr_param,new rrend_async_test_callbacks(),rr_handler,rr_timeout);
    }
    finally {
    rr_param.delete();
    }
    }
    protected class rrend_async_test_callbacks implements Action3<MessageElement,RuntimeException,Object> {
    public void action(MessageElement ret ,RuntimeException err,Object param)
    {
    Action1<RuntimeException> rr_handler=(Action1<RuntimeException>)param;
    if (err!=null)
    {
    rr_handler.action(err);
    return;
    }
    rr_handler.action(null);
    }
    }
    public void async_get_o1(Action2<sub1,RuntimeException> handler, int timeout) {
    asyncFindObjRefTyped("o1","com.robotraconteur.testing.TestService1.sub1",handler,timeout);
    }
    public void async_get_o2(int ind, Action2<sub1,RuntimeException> handler, int timeout) {
    asyncFindObjRefTyped("o2",String.valueOf(ind),"com.robotraconteur.testing.TestService1.sub1",handler,timeout);
    }
    public void async_get_o3(int ind, Action2<sub1,RuntimeException> handler, int timeout) {
    asyncFindObjRefTyped("o3",String.valueOf(ind),"com.robotraconteur.testing.TestService1.sub1",handler,timeout);
    }
    public void async_get_o4(String ind, Action2<sub1,RuntimeException> handler, int timeout) {
    asyncFindObjRefTyped("o4",String.valueOf(ind),"com.robotraconteur.testing.TestService1.sub1",handler,timeout);
    }
    public void async_get_o5(Action2<com.robotraconteur.testing.TestService2.subobj,RuntimeException> handler, int timeout) {
    asyncFindObjRefTyped("o5","com.robotraconteur.testing.TestService2.subobj",handler,timeout);
    }
    public void async_get_o6(Action2<Object,RuntimeException> handler, int timeout) {
    asyncFindObjRef("o6",handler,timeout);
    }
}
