/// <summary>
        /// Unpacks an array of binary data given reference start and end pointers.
        /// </summary>
        /// <param name="data">
        /// A <see cref="System.Byte[]"/>
        /// </param>
        /// <param name="start">
        /// A <see cref="System.Int32"/>
        /// </param>
        /// <param name="end">
        /// A <see cref="System.Int32"/>
        /// </param>
        /// <returns>
        /// A <see cref="OSCPacket"/>
        /// </returns>
        public static OSCPacket Unpack(byte[] data, ref int start, int end)
        {
            if (data[start] == '#')
            {
                return(OSCBundle.Unpack(data, ref start, end));
            }

            else
            {
                return(OSCMessage.Unpack(data, ref start));
            }
        }