Para quem teve dúvida referente às nomenclaturas com underscore ("_") na frente, como eu:
exemplo: _itens[_proximaPosicao]
O uso de um underscore no início de nomes de variáveis ou campos geralmente indica que eles são campos privados de uma classe. Essa convenção é comum em C# para diferenciar facilmente campos privados de variáveis locais ou parâmetros de métodos.