public string Generate()

in src/React.Core/ReactIdGenerator.cs [36:64]


		public string Generate()
		{
			var chars = _chars;
			if (chars == null)
			{
				_chars = chars = new char[reactIdLength];
				Array.Copy(reactPrefix, 0, chars, 0, reactPrefix.Length);
			}

			var id = Interlocked.Increment(ref _random);

			// from 6 because  "react_".Length == 6, _encode32Chars.Length == 32 (base32), 
			// base32 characters are 5 bits in length and from long (64 bits) we can get 13 symbols
			chars[6] = _encode32Chars[(int)(id >> 60) & 31];
			chars[7] = _encode32Chars[(int)(id >> 55) & 31];
			chars[8] = _encode32Chars[(int)(id >> 50) & 31];
			chars[9] = _encode32Chars[(int)(id >> 45) & 31];
			chars[10] = _encode32Chars[(int)(id >> 40) & 31];
			chars[11] = _encode32Chars[(int)(id >> 35) & 31];
			chars[12] = _encode32Chars[(int)(id >> 30) & 31];
			chars[13] = _encode32Chars[(int)(id >> 25) & 31];
			chars[14] = _encode32Chars[(int)(id >> 20) & 31];
			chars[15] = _encode32Chars[(int)(id >> 15) & 31];
			chars[16] = _encode32Chars[(int)(id >> 10) & 31];
			chars[17] = _encode32Chars[(int)(id >> 5) & 31];
			chars[18] = _encode32Chars[(int)id & 31];

			return new string(chars, 0, reactIdLength);
		}