code: func NewServerContext(cred *sspi.Credentials, token []byte) (sc *ServerContext, authDone bool, outputToken []byte, err error) {
  	otoken := make([]byte, PackageInfo.MaxToken)
  	c := sspi.NewServerContext(cred, sspi.ASC_REQ_CONNECTION)
  	authDone, n, err2 := updateContext(c, otoken, token, nil)
  	if err2 != nil {
  		return nil, false, nil, err2
  	}
  	otoken = otoken[:n]
  	return &ServerContext{sctxt: c}, authDone, otoken, nil
  }
docs: // NewServerContext creates new server context. It uses server
  // credentials created by AcquireServerCredentials and token from
  // the client to start server Negotiate negotiation sequence.
  // It also returns new token to be sent to the client.