oauth2: clarify comment about tokenRefresher's thread safety

Change-Id: I9a3faedb8faf7701be7c82c7fff964b56d7c96c8
Reviewed-on: https://go-review.googlesource.com/4116
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/oauth2.go b/oauth2.go
index 396f11b..42aeb34 100644
--- a/oauth2.go
+++ b/oauth2.go
@@ -250,6 +250,10 @@
 	refreshToken string
 }
 
+// WARNING: Token is not safe for concurrent access, as it
+// updates the tokenRefresher's refreshToken field.
+// Within this package, it is used by reuseTokenSource which
+// synchronizes calls to this method with its own mutex.
 func (tf *tokenRefresher) Token() (*Token, error) {
 	if tf.refreshToken == "" {
 		return nil, errors.New("oauth2: token expired and refresh token is not set")
@@ -263,9 +267,7 @@
 	if err != nil {
 		return nil, err
 	}
-	if tk.RefreshToken != tf.refreshToken {
-		// possible race condition avoided because tokenRefresher
-		// should be protected by reuseTokenSource.mu
+	if tf.refreshToken != tk.RefreshToken {
 		tf.refreshToken = tk.RefreshToken
 	}
 	return tk, err