code: func (s *CookieStore) New(r *http.Request, name string) (*Session, error) {
  	session := NewSession(s, name)
  	opts := *s.Options
  	session.Options = &opts
  	session.IsNew = true
  	var err error
  	if c, errCookie := r.Cookie(name); errCookie == nil {
  		err = securecookie.DecodeMulti(name, c.Value, &session.Values,
  			s.Codecs...)
  		if err == nil {
  			session.IsNew = false
  		}
  	}
  	return session, err
  }
docs: // New returns a session for the given name without adding it to the registry.
  //
  // The difference between New() and Get() is that calling New() twice will
  // decode the session data twice, while Get() registers and reuses the same
  // decoded session after the first call.