IntrabandProxyUtil { protected static void deserializerRead( MethodNodeGenerator methodNodeGenerator, Type type) { String owner = _DESERIALIZER_TYPE.getInternalName(); if (type.getSort() <= Type.DOUBLE) { String name = TextFormatter.format( type.getClassName(), TextFormatter.G); methodNodeGenerator.invokeVirtual(owner, "read".concat(name), type); } else if (type.equals(_STRING_TYPE)) { methodNodeGenerator.invokeVirtual( owner, "readString", _STRING_TYPE); } else { methodNodeGenerator.invokeVirtual( owner, "readObject", _SERIALIZABLE_TYPE); } }  static String[] getProxyMethodSignatures(Class<?> clazz); static Class<?> getStubClass(Class<?> clazz, String skeletonId); static Class<?> getStubClass(
		ClassLoader classLoader, Class<?> clazz, String skeletonId); static T newStubInstance(
		Class<? extends T> stubClass, String id,
		RegistrationReference registrationReference,
		ExceptionHandler exceptionHandler); static final String SKELETON_POSTFIX; static final String STUB_POSTFIX; }
@Test public void testDeserializerRead() { MethodNode methodNode = new MethodNode( Opcodes.ACC_PUBLIC, "name", "()V", null, null); MethodNodeGenerator methodNodeGenerator = new MethodNodeGenerator( methodNode); InsnList insnList = methodNode.instructions; for (Type type : _types) { IntrabandProxyUtil.deserializerRead(methodNodeGenerator, type); AbstractInsnNode abstractInsnNode = insnList.getLast(); String methodName = "readObject"; Type returnType = Type.getType(Serializable.class); if (type.getSort() <= Type.DOUBLE) { String name = TextFormatter.format( type.getClassName(), TextFormatter.G); methodName = "read".concat(name); returnType = type; } else if (type.equals(Type.getType(String.class))) { methodName = "readString"; returnType = Type.getType(String.class); _assertMethodInsnNode( abstractInsnNode, Opcodes.INVOKEVIRTUAL, Type.getInternalName(Deserializer.class), "readString", Type.getType(String.class)); } _assertMethodInsnNode( abstractInsnNode, Opcodes.INVOKEVIRTUAL, Type.getInternalName(Deserializer.class), methodName, returnType); } }