public void ReplaceFirst()
            {
                // Given
                ModuleList collection = new ModuleList(
                    new RedModule(),
                    new CountModule("mykey1"),
                    new CountModule("mykey2"),
                    new GreenModule());

                // When
                collection.ReplaceFirst <CountModule>(new CountModule("replacedKey"));

                // Then
                Assert.AreEqual("replacedKey", ((CountModule)collection[1]).ValueKey);
                Assert.AreEqual("mykey2", ((CountModule)collection[2]).ValueKey);
            }