protected final void copyCommonFields( AbstractMessage clone )
    {
        clone.id = this.id;
        clone.correlId = this.correlId;
        clone.priority = this.priority;
        clone.deliveryMode = this.deliveryMode;
        clone.destination = this.destination;
        clone.expiration = this.expiration;
        clone.redelivered = this.redelivered;
        clone.replyTo = this.replyTo;
        clone.timestamp = this.timestamp;
        clone.type = this.type;   
        
        @SuppressWarnings("unchecked")
        Map<String,Object> propertyMapClone = this.propertyMap != null ? (Map<String,Object>)((HashMap<String,Object>)this.propertyMap).clone() : null;         
        clone.propertyMap = propertyMapClone;
        
        // Copy raw message cache if any
        clone.unserializationLevel = this.unserializationLevel; 
        if (this.rawMessage != null)
        	clone.rawMessage = this.rawMessage.copy();
    }
protected final void copyCommonFields ( AbstractMessage clone ) { clone . id = this . id ; clone . correlId = this . correlId ; clone . priority = this . priority ; clone . deliveryMode = this . deliveryMode ; clone . destination = this . destination ; clone . expiration = this . expiration ; clone . redelivered = this . redelivered ; clone . replyTo = this . replyTo ; clone . timestamp = this . timestamp ; clone . type = this . type ; @ SuppressWarnings ( "unchecked" ) Map < String , Object > propertyMapClone = this . propertyMap != null ? ( Map < String , Object > ) ( ( HashMap < String , Object > ) this . propertyMap ) . clone ( ) : null ; clone . propertyMap = propertyMapClone ; clone . unserializationLevel = this . unserializationLevel ; if ( this . rawMessage != null ) clone . rawMessage = this . rawMessage . copy ( ) ; }
Create an independant copy of this message