code: func (s *StanServer) getMsgForRedelivery(c *channel, sub *subState, seq uint64) *pb.MsgProto {
  	m, err := c.store.Msgs.Lookup(seq)
  	if m == nil || err != nil {
  		if err != nil {
  			s.log.Errorf("Error getting message for redelivery subid=%d, seq=%d, err=%v",
  				sub.ID, seq, err)
  		}
  		// Ack it so that it does not reincarnate on restart
  		s.processAck(c, sub, seq, false)
  		return nil
  	}
  	// The store implementation does not return a copy, we need one
  	mcopy := *m
  	return &mcopy
  }
docs: // getMsgForRedelivery looks up the message from storage. If not found -
  // because it has been removed due to limit - processes an ACK for this
  // sub/sequence number and returns nil, otherwise return a copy of the
  // message (since it is going to be modified: m.Redelivered = true)