container/resource/src/main/java/org/mobicents/slee/resource/ResourceAdaptorActivityContextHandleImpl.java
@Override
	public void readExternal(ObjectInput in) throws IOException,
			ClassNotFoundException {
		// read ra entity name
		final String raEntityName = in.readUTF();
		// read activity handle
		this.raEntity = SleeContainer.lookupFromJndi().getResourceManagement()
		.getResourceAdaptorEntity(raEntityName);
		if (raEntity == null) {
			throw new IOException("RA Entity with name " + raEntityName
					+ " not found.");
		}
		// read activity handle
		boolean handleReference = in.readBoolean();
		if (handleReference) {
			// a reference
			activityHandle = new ActivityHandleReference(null, (Address) in.readObject(), in.readUTF());
		} else {
			final Marshaler marshaler = raEntity.getMarshaler();
			if (marshaler != null) {
				activityHandle = marshaler.unmarshalHandle(in);
			} else {
				throw new IOException("marshaller from RA is null");
			}
		}
	}
@Override
	public void readExternal(ObjectInput in) throws IOException,
			ClassNotFoundException {
		// read ra entity name
		final String raEntityName = in.readUTF();
		// read activity handle
		this.raEntity = SleeContainer.lookupFromJndi().getResourceManagement()
		.getResourceAdaptorEntity(raEntityName);
		if (raEntity == null) {
			throw new IOException("RA Entity with name " + raEntityName
					+ " not found.");
		}
		// read activity handle
		boolean handleReference = in.readBoolean();
		if (handleReference) {
			// a reference
			activityHandle = new ActivityHandleReference(null, (Address) in.readObject(), in.readUTF());
		} else {
			final Marshaler marshaler = raEntity.getMarshaler();
			if (marshaler != null) {
				activityHandle = marshaler.unmarshalHandle(in);
			} else {
				throw new IOException("marshaller from RA is null");
			}
		}
	}
/*
(non-Javadoc)
@see java.io.Externalizable#readExternal(java.io.ObjectInput)