OutboundPacketStream& OutboundPacketStream::operator<<( const BundleInitiator& rhs )
{
    if( IsMessageInProgress() )
        throw MessageInProgressException();

    CheckForAvailableBundleSpace();

    messageCursor_ = BeginElement( messageCursor_ );

    memcpy( messageCursor_, "#bundle\0", 8 );
    FromUInt64( messageCursor_ + 8, rhs.timeTag );

    messageCursor_ += 16;
    argumentCurrent_ = messageCursor_;

    return *this;
}
OutboundPacketStream& OutboundPacketStream::operator<<( const BundleInitiator& rhs )
{
    check( !IsMessageInProgress() )

    state_ = CheckForAvailableBundleSpace();
    if(state_ == SUCCESS)
    {
        messageCursor_ = BeginElement( messageCursor_ );

        std::memcpy( messageCursor_, "#bundle\0", 8 );
        FromUInt64( messageCursor_ + 8, rhs.timeTag );

        messageCursor_ += 16;
        argumentCurrent_ = messageCursor_;
    }

    return *this;
}