/* BACnet Application PDUs chapter 21 BACnetRecipient::= CHOICE { device  BACnetObjectIdentifier address  BACnetAddress }  */
static guint fRecipient(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint offset)
/* BACnet Application PDUs chapter 21 BACnetRecipient::= CHOICE { device  BACnetObjectIdentifier address  BACnetAddress }  */
static guint fRecipient(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint offset)
{
    guint8  tag_no, tag_info;
    guint32 lvt;
    fTagHeader(tvb, pinfo, offset, &tag_no, &tag_info, &lvt);
    if (tag_no < 2) {
        if (tag_no == 0) {
            offset = fObjectIdentifier(tvb, pinfo, tree, offset);
        }
        else {
            offset += fTagHeaderTree(tvb, pinfo, tree, offset, &tag_no, &tag_info, &lvt);
            offset  = fAddress(tvb, pinfo, tree, offset);
            offset += fTagHeaderTree(tvb, pinfo, tree, offset, &tag_no, &tag_info, &lvt);
        }
    }
    return offset;
}