<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:at="http://www.sixapart.com/ns/at"
    xmlns:icbm="http://postneo.com/icbm"
    xmlns:rvw="http://purl.org/NET/RVW/0.2/"
    xmlns:media="http://search.yahoo.com/mrss">
    <channel>
        <title>Life, Opportunity, and Development</title>
        <link>http://cyberkruz.vox.com/library/posts/tags/tutorial/page/1/</link>
        <description>[witty comment]</description>
        <language>en</language>
        <generator>Vox</generator>
        <lastBuildDate>Wed, 09 May 2007 13:05:22 -0600</lastBuildDate>
        <copyright>Copyright 2007</copyright>
        <docs>http://blogs.law.harvard.edu/tech/rss</docs> 
        <category domain="http://cyberkruz.vox.com/tags/">tutorial</category>  
 
        <item>
            <title>J2EE Custom Simple Tags Part 1</title>
            <link>http://cyberkruz.vox.com/library/post/j2ee-custom-simple-tags-part-1.html?_c=feed-rss-full</link>   
            <author>nobody@vox.com(Matthew Kruskamp)</author>
            <comments>http://cyberkruz.vox.com/library/post/j2ee-custom-simple-tags-part-1.html?_c=feed-rss-full</comments>
            <guid isPermaLink="true">http://cyberkruz.vox.com/library/post/j2ee-custom-simple-tags-part-1.html?_c=feed-rss-full</guid> 
            <pubDate>Wed, 09 May 2007 13:05:22 -0600</pubDate>         
            
            <description>    &lt;p&gt;Note: This article assumes you have done some Java web development in the past, and you are capable of compiling and executing web applications with J2EE.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;br /&gt;J2EE has done some amazing things in progressing the creation of custom tags. Now it is fairly easy to integrate any custom HTML tag within your application further separating the view from designers. This article will show you how to implement a custom HTML tag that calculates the square of a number by simply placing &amp;lt;math:square num=&amp;quot;12&amp;quot; /&amp;gt; into your web application. Hopefully, you can feel the power with this simple feature.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Creating the class&lt;/strong&gt;&lt;br /&gt;Every custom tag extends SimpleTagSupport. This is a class implemented by the J2EE spec which allows a class to output information to a jsp. So, lets get right to coding. Create a class in your web application that extends javax.servlet.jsp.tagext.SimpleTagSupport. If you are compiling by hand, the class file must go in the package structure under /WEB-INF/classes/ i.e. /WEB-INF/classes/com/cyberkruz/test/NewMath.class&lt;br /&gt;l&lt;br /&gt;&lt;blockquote&gt;

&lt;div style=&quot;background: white none repeat scroll 0% 50%; font-family: Courier New; font-size: 9pt; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;package&lt;/span&gt; com.cyberkruz.test;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;import&lt;/span&gt; java.io.*;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;import&lt;/span&gt; javax.servlet.jsp.*;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;import&lt;/span&gt; javax.servlet.jsp.tagext.SimpleTagSupport;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;

&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;class&lt;/span&gt; NewMath &lt;span style=&quot;color: blue;&quot;&gt;extends&lt;/span&gt; SimpleTagSupport {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: teal;&quot;&gt;Integer&lt;/span&gt; num;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;/**&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;  * Method overridden which is called&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;  * by the jsp.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;  */&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;void&lt;/span&gt; doTag() &lt;span style=&quot;color: blue;&quot;&gt;throws&lt;/span&gt; JspException, &lt;span style=&quot;color: teal;&quot;&gt;IOException&lt;/span&gt; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// Gets the jsp context and prints the&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// number squared.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.getJspContext().getOut().print(&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.num * &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.num);&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;/**&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;  * Sets a number that our custom&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;  * tag squares.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;  * @param num The number to which&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;  * we want to square.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;  */&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;void&lt;/span&gt; setNum(&lt;span style=&quot;color: teal;&quot;&gt;Integer&lt;/span&gt; num) {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.num = num;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;}&lt;/p&gt;
&lt;/div&gt;

&lt;/blockquote&gt;Every attribute in your custom tag must have a Java Bean mutator property to go with it. This is handled with reflection to send the parameter to your class.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Configuring the application to use the class&lt;br /&gt;&lt;/strong&gt;Now, all we have to do is let our application know that the new tag is there. To do so, we can set up a TLD file which looks much like the document descriptor for configuring servlets. So lets do it! Create a new file called MyTags.tld and place it in the /WEB-INF directory. Then type the following:&lt;/p&gt;&lt;blockquote&gt;

&lt;div style=&quot;background: white none repeat scroll 0% 50%; font-family: Courier New; font-size: 9pt; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;xml&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;1.0&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;encoding&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;iso-8859-1&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt; ?&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;taglib&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;xmlns&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;http://java.sun.com/xml/ns/j2ee&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;xmlns:xsi&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;http://www.w3c.org/2001/XMLSchema-instance&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;xsi:schemaLocation&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;2.0&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tlib-version&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;1.2&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tlib-version&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;uri&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;myTags&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;uri&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tag&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;description&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Custom tags&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;description&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Square&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tag-class&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;com.cyberkruz.test.NewMath&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tag-class&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;body-content&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;scriptless&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;body-content&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;attribute&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;num&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;required&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;true&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;required&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;rtexprvalue&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;true&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;rtexprvalue&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;attribute&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160; &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tag&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;taglib&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;This file configures our web application to use our new custom tag. Multiple tags can be placed and mapped with this single file. The taglib directive just specifies the schemas for this particular file and version. The uri specifies what location these tags are being mapped to. Under the tag element, the description and name should be pretty straight forward. The tag-class element points this tag to the class that we wrote previously. the body-content is stating that we don&amp;#39;t want inline scripting for this element. Now the attribute tag is fairly interesting. While optional, it maps the num variable to our setter in the class we specified. Then, it says we must have it there (required element) and it can be specified at run time (rtexprvalue).&lt;/p&gt;&lt;p&gt;Now all we have to do is use it!&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Place our new tag in a jsp&lt;br /&gt;&lt;/strong&gt;Allowing our jsp to use the custom tag is the easiest part. It only requires a single declaration.&lt;/p&gt;&lt;blockquote&gt;

&lt;div style=&quot;background: white none repeat scroll 0% 50%; font-family: Courier New; font-size: 9pt; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;%&lt;span style=&quot;color: maroon;&quot;&gt;@&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;taglib&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;prefix&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;math&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;uri&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;myTags&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;%&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;/blockquote&gt;&lt;p&gt;The taglib keyword tells the jsp what we are trying to do. The prefix is what we want to put before the tags when we call them, and the uri points to the uri specified in the tld file. This is going to load every tag that is configured in that tld file that we made previously. &lt;/p&gt;&lt;p&gt;Now, let&amp;#39;s put it in a jsp. Create a jsp file called SimpleTest.jsp and place it in your web application. Place the following in your jsp:&lt;/p&gt;&lt;blockquote&gt;

&lt;div style=&quot;background: white none repeat scroll 0% 50%; font-family: Courier New; font-size: 9pt; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;%&lt;span style=&quot;color: maroon;&quot;&gt;@page&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;language&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;java&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;contentType&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;text/html; charset=ISO-8859-1&lt;/span&gt;&amp;quot;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;pageEncoding&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;ISO-8859-1&lt;/span&gt;&amp;quot;%&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;%&lt;span style=&quot;color: maroon;&quot;&gt;@&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;taglib&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;prefix&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;math&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;uri&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;myTags&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;%&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;html&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;SimpleTest&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;meta&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;http-equiv&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;Content-Type&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;content&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;text/html; charset=ISO-8859-1&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; 10 squared is: &lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;math:Square&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;num&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt;10&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: blue;&quot;&gt; /&amp;gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;#160; &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;html&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;/blockquote&gt;&lt;p&gt;Run it on your web server and... YAY! This is a base introduction to what you can do with custom simple tags. More information about how to use these is below. Enjoy!&lt;/p&gt;&lt;p&gt;&lt;strong&gt;More information&lt;br /&gt;&lt;a href=&quot;http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSPTags7.html&quot;&gt;http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSPTags7.html&lt;/a&gt;&lt;br /&gt;&lt;/strong&gt; &lt;/p&gt;    &lt;p style=&quot;clear:both;&quot;&gt; 
    &lt;a href=&quot;http://cyberkruz.vox.com/library/post/j2ee-custom-simple-tags-part-1.html?_c=feed-rss-full#comments&quot;&gt;Read and post comments&lt;/a&gt;   |   
    &lt;a href=&quot;http://www.vox.com/share/6a00c2251f2742604a00d09e6a7647be2b?_c=feed-rss-full&quot;&gt;Send to a friend&lt;/a&gt; 
&lt;/p&gt;
 
            </description> 
            <category domain="http://cyberkruz.vox.com/tags/">java</category> 
            <category domain="http://cyberkruz.vox.com/tags/">html</category> 
            <category domain="http://cyberkruz.vox.com/tags/">tutorial</category> 
            <category domain="http://cyberkruz.vox.com/tags/">j2ee</category> 
            <category domain="http://cyberkruz.vox.com/tags/">jsp</category> 
            <category domain="http://cyberkruz.vox.com/tags/">simple tags</category>   
        </item> 
 
        <item>
            <title>C# tutorial: Linked List</title>
            <link>http://cyberkruz.vox.com/library/post/c-tutorial-linked-list.html?_c=feed-rss-full</link>   
            <author>nobody@vox.com(Matthew Kruskamp)</author>
            <comments>http://cyberkruz.vox.com/library/post/c-tutorial-linked-list.html?_c=feed-rss-full</comments>
            <guid isPermaLink="true">http://cyberkruz.vox.com/library/post/c-tutorial-linked-list.html?_c=feed-rss-full</guid> 
            <pubDate>Fri, 02 Mar 2007 15:38:26 -0700</pubDate>         
            
            <description>    &lt;p&gt;For archive purposes, I am posing a custom, generic, sortable, event-driven, doubly-linked list. In the future I will run some tests on it to see if it beats the current linked list implementation provided by the .NET framework. For those unsure of what a linked list is, here is a small tutorial on it.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 1.25em;&quot;&gt;&lt;span style=&quot;font-size: 0.8em;&quot;&gt;Collections&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;When programming a computer, it is very common to store many items of the same type. Some different types of storing methods include array&amp;#39;s, lists, and linked lists. The array is probably the most common for those attempting to store items. When an array of items is specified, the computer goes into memory and searches for a place to allocate the array. If it cannot allocate the entire array, it will keep searching. until it can.&lt;/p&gt;
    

    

    

    

    

    

    

    

    
    
    
&lt;div at:enclosure=&quot;asset&quot; at:xid=&quot;6a00c2251f2742604a00d41422c43a6a47&quot; at:format=&quot;medium&quot; at:align=&quot;center&quot;
    class=&quot;enclosure enclosure-center enclosure-medium photo-enclosure&quot; 
     style=&quot;text-align: center;&quot;&gt;
&lt;div class=&quot;enclosure-inner&quot;
    
        style=&quot;padding: 9px; border: 1px solid; width: px; margin: 10px auto;&quot;
    &gt;
    &lt;div class=&quot;enclosure-list&quot;&gt;
        &lt;div class=&quot;enclosure-item photo-asset last&quot;&gt;
    
            &lt;div class=&quot;enclosure-image&quot;&gt;
        
                &lt;a href=&quot;http://cyberkruz.vox.com/library/photo/6a00c2251f2742604a00d41422c43a6a47.html&quot;&gt;&lt;img src=&quot;http://a2.vox.com/6a00c2251f2742604a00d41422c43a6a47-200pi&quot; alt=&quot;ArrayStorage&quot; title=&quot;ArrayStorage&quot; /&gt;&lt;/a&gt;
        
            &lt;/div&gt;
            &lt;div class=&quot;enclosure-meta&quot;&gt;
                &lt;div class=&quot;enclosure-asset-name&quot;&gt;&lt;a href=&quot;http://cyberkruz.vox.com/library/photo/6a00c2251f2742604a00d41422c43a6a47.html&quot; title=&quot;ArrayStorage&quot;&gt;ArrayStorage&lt;/a&gt;&lt;/div&gt;
            &lt;/div&gt;
    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;!-- end enclosure --&gt;








&lt;p&gt;&lt;br /&gt;&lt;em&gt;Note: I put 5 spaces in the array definition. This is because of a manifest placed in the array, however, the inter workings of memory is beyond the scope of this article.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Now the problem with the array rises when someone runs out of room in their array. If they have an array that is 5 items large, and they want to hold a 6th, they must now re-define an entirely new array that can hold the new information. This requires the computer to go through and find another spot in memory that is big enough, place the new array in there, and then copy the elements from the original array to the new array. This problem is where a linked list comes in handy.&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;The Linked List&lt;/strong&gt;&lt;br /&gt;When a linked list is used, every item is stored in a chain of items. The linked list works by housing the references to the next (and previous in doubly linked lists) items in the chain. To do this, it is common to house your value inside a node. That node contains a reference in memory to the next node. Thus, you can define nodes anywhere you want in memory as long as you link to it making it easy to add and remove any amount of elements in the chain. The code would look something like this if you are trying to store integers:&lt;/p&gt;
&lt;blockquote&gt;&lt;p style=&quot;margin-bottom: 0in;&quot;&gt;    &lt;span lang=&quot;&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;color: #008080&quot;&gt;LinkedList&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang=&quot;&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: #000000&quot;&gt;    &lt;span style=&quot;font-size: small&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: #000000&quot;&gt;        &lt;/span&gt;&lt;span lang=&quot;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;color: #008080&quot;&gt;Node&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;
firstNode;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang=&quot;&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;br /&gt;
&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: #000000&quot;&gt;        &lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span lang=&quot;&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008080&quot;&gt;Node&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang=&quot;&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: #000000&quot;&gt;        &amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;font-size: small&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: #000000&quot;&gt;            &lt;/span&gt;&lt;span lang=&quot;&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color: #008080&quot;&gt;Node&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;
previous;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: #000000&quot;&gt;            &lt;/span&gt;&lt;span lang=&quot;&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color: #008080&quot;&gt;Node&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;
next;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0in;&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;#160;&amp;#160;&amp;#160; &lt;span lang=&quot;&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;
value;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang=&quot;&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: #000000&quot;&gt;        &amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;font-size: small&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang=&quot;&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: #000000&quot;&gt;    &lt;span style=&quot;font-size: small&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;











    

    

    

    

    

    

    

    

    
    
    
&lt;div at:enclosure=&quot;asset&quot; at:xid=&quot;6a00c2251f2742604a00d09e58fa35be2b&quot; at:format=&quot;medium&quot; at:align=&quot;center&quot;
    class=&quot;enclosure enclosure-center enclosure-medium photo-enclosure&quot; 
     style=&quot;text-align: center;&quot;&gt;
&lt;div class=&quot;enclosure-inner&quot;
    
        style=&quot;padding: 9px; border: 1px solid; width: px; margin: 10px auto;&quot;
    &gt;
    &lt;div class=&quot;enclosure-list&quot;&gt;
        &lt;div class=&quot;enclosure-item photo-asset last&quot;&gt;
    
            &lt;div class=&quot;enclosure-image&quot;&gt;
        
                &lt;a href=&quot;http://cyberkruz.vox.com/library/photo/6a00c2251f2742604a00d09e58fa35be2b.html&quot;&gt;&lt;img src=&quot;http://a5.vox.com/6a00c2251f2742604a00d09e58fa35be2b-200pi&quot; alt=&quot;LinkedListStorage&quot; title=&quot;LinkedListStorage&quot; /&gt;&lt;/a&gt;
        
            &lt;/div&gt;
            &lt;div class=&quot;enclosure-meta&quot;&gt;
                &lt;div class=&quot;enclosure-asset-name&quot;&gt;&lt;a href=&quot;http://cyberkruz.vox.com/library/photo/6a00c2251f2742604a00d09e58fa35be2b.html&quot; title=&quot;LinkedListStorage&quot;&gt;LinkedListStorage&lt;/a&gt;&lt;/div&gt;
            &lt;/div&gt;
    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;!-- end enclosure --&gt;








&lt;p&gt;&lt;strong&gt;Problems&lt;/strong&gt;&lt;br /&gt;With anything in computer science, there are downfalls to using Linked Lists. In order to get to an element in the linked list, you must traverse the entire list until you get to that element. This can be time consuming if there are a lot of nodes. Another problem is if you lose a reference to one of the nodes, you break the entire list. However, in a lot of circumstances, it is very useful to be able to add and remove items on the fly just by changing references.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Source&lt;/strong&gt;&lt;br /&gt;Here is an example doubly linked list example that I wrote. Thank &lt;a href=&quot;http://dusda.vox.com/&quot; class=&quot;enclosure-inline-user&quot; at:enclosure=&quot;inline-user&quot; at:user-xid=&quot;6p00c2251efa85549d&quot; at:screen-name=&quot;dusda&quot; at:delegate=&quot;people-connect&quot; at:user-pic=&quot;http://up5.vox.com/6a00c2251efa85549d00c2251efce7604a-75si&quot; &gt;dusda&lt;/a&gt; for the event driven idea. It is a doubly linked list that will convert to an array if needed. It supports any data type, and automatically sorts if specified. There is even support for getting an item by it&amp;#39;s location (index). I hope you all find it useful.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;

&lt;div style=&quot;background: white none repeat scroll 0% 50%; font-family: Courier New; font-size: 8pt; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;

&lt;div style=&quot;background: white none repeat scroll 0% 50%; font-family: Courier New; font-size: 8pt; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;

&lt;div style=&quot;background: white none repeat scroll 0%; font-family: Courier New; font-size: 8pt; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;using&lt;/span&gt; System;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;namespace&lt;/span&gt; Systepic.Collections&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;{&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Event Handler designed to be thrown&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; when a collection&amp;#39;s list items change.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;param name=&amp;quot;sender&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;The list that&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; fired the event.&lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;param name=&amp;quot;e&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;Information about&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; what the event did.&lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;delegate&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;void&lt;/span&gt; CollectionEventHandler(&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: teal;&quot;&gt;Object&lt;/span&gt; sender, CollectionEventArgs e);&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Class inheriting from EventArgs designed&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; to hold information about the state change&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; of a collection.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;class&lt;/span&gt; CollectionEventArgs : &lt;span style=&quot;color: teal;&quot;&gt;EventArgs&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; CollectionEventArgs():&lt;span style=&quot;color: blue;&quot;&gt;base&lt;/span&gt;(){}&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; A generic sortable linked list.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;typeparam name=&amp;quot;T&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;The type&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; that the linked list is. The type&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; should be a valuetype or a string&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; in order to be sorted.&lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/typeparam&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;class&lt;/span&gt; LinkedList&amp;lt;T&amp;gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160;  {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; An event fired whenever the collection&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; contents change.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;event&lt;/span&gt; CollectionEventHandler ListChanged;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; The initial node to iterate in the list.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;private&lt;/span&gt; Node&amp;lt;T&amp;gt; firstNode;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; The number of items in the linked list.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; count;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Whether or not it is a sorted list.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;bool&lt;/span&gt; sorted;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Create a new unsorted&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; linked list.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; LinkedList() : &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;false&lt;/span&gt;) { }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Create a new linked list that&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; can be a sorted linked list.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;param name=&amp;quot;sorted&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;Whether or not&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; the linked list should be sorted.&lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; LinkedList(&lt;span style=&quot;color: blue;&quot;&gt;bool&lt;/span&gt; sorted)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.count = 0;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.sorted = sorted;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Adds an item to the end of the current &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; linked list. If the linked list is a &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; sorted list, the list is re-sorted.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;param name=&amp;quot;item&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;The item that should &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; be added to the linked list.&lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;Whether or not the item was &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; added successfully.&lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;bool&lt;/span&gt; Add(T item)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// Add if there is none&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.count == 0)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.firstNode = &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; Node&amp;lt;T&amp;gt;(item);&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;else&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  Node&amp;lt;T&amp;gt; temp = &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.firstNode;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; x = 1; x &amp;lt; &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.count; ++x)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; temp = temp.Next;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: green;&quot;&gt;// Add a new item to the list&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  temp.Next = &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; Node&amp;lt;T&amp;gt;(&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; item, temp, &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;);&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// increment the counter.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; ++count;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.sorted) &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.Sort();&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// fire the event&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.ListChanged != &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.ListChanged(&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;,&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; CollectionEventArgs());&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// Call the insertAt method.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;true&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Insert an item at a specified index in&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; the linked list. If the linked list is&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; a sorted list, the list is re-sorted.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;param name=&amp;quot;item&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;The item to add to the&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; linked list.&lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;param name=&amp;quot;index&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;The 0 based index of where&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; it should be added at.&lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;Whether or not the item was added&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; successfully.&lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;bool&lt;/span&gt; InsertAt(T item, &lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; index)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// make sure the index is valid&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (index &amp;lt; 0)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: teal;&quot;&gt;IndexOutOfRangeException&lt;/span&gt;();&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (index &amp;gt;= &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.count)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: teal;&quot;&gt;IndexOutOfRangeException&lt;/span&gt;();&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// make sure there is an actual place to insert&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (count == 0)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;false&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// Create temp node to store info&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; Node&amp;lt;T&amp;gt; tempNode = &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; Node&amp;lt;T&amp;gt;(item);&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// Create a temporary for iteration&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; Node&amp;lt;T&amp;gt; temp = &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.firstNode;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// get to the specified index&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; x = 1; x &amp;lt;= index; ++x)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  temp = temp.Next;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// get the current reference.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (index &amp;gt; 0)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  Node&amp;lt;T&amp;gt; prev = temp.Previous;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  prev.Next = tempNode;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  tempNode.Previous = prev;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// set the references&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; tempNode.Next = temp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; temp.Previous = tempNode;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (index == 0)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.firstNode = tempNode;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// update the list information&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; ++count;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.sorted) &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.Sort();&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// fire event&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.ListChanged != &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.ListChanged(&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;, &lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; CollectionEventArgs());&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;true&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Find a particular item and remove&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; it from the linked list.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;param name=&amp;quot;item&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;The item to find&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; in the list.&lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;Whether or not the item&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; was removed successfully.&lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;bool&lt;/span&gt; Remove(T item)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// make sure we can remove&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (count &amp;lt; 1)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;false&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; Node&amp;lt;T&amp;gt; temp = &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.firstNode;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// Iterate and find item&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; x = 1; x &amp;lt;= &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.count; ++x)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; ((item &lt;span style=&quot;color: blue;&quot;&gt;as&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;object&lt;/span&gt;) == (temp.Value &lt;span style=&quot;color: blue;&quot;&gt;as&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;object&lt;/span&gt;))&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// Change the references&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (temp.HasNext &amp;amp;&amp;amp; temp.HasPrevious)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; temp.Previous.Next = temp.Next;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; temp.Next.Previous = temp.Previous;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (temp.HasNext)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; temp.Next.Previous = &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (temp.HasPrevious)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; temp.Previous.Next = &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;else&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; temp = &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// Reset the first Node if we&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// removed it.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (x == 1 &amp;amp;&amp;amp; temp != &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.firstNode = temp.Next;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// Handle the counter&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; --count;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (temp != &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt; &amp;amp;&amp;amp; temp.HasNext)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; temp = temp.Next;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// Resort the algorithm if it is &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// a sorted algorithm&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.sorted) &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.Sort();&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// fire event&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.ListChanged != &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.ListChanged(&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;,&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; CollectionEventArgs());&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;true&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Sorts a list using insertion sort. Although&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; this algorithm is considered slow, since the&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; list is always almost sorted, the time to sort&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; the list is really fast whereas most high speed&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; algorithms will not beat this in this particular&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; instance because they handle near-sorted &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; algorithms the same as unsorted.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;Whether or not the&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; list was sorted successfully.&lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;bool&lt;/span&gt; Sort()&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.firstNode.Value &lt;span style=&quot;color: blue;&quot;&gt;is&lt;/span&gt; &lt;span style=&quot;color: teal;&quot;&gt;IComparable&lt;/span&gt;)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: green;&quot;&gt;// check index out of range&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.firstNode.Next == &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;true&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: green;&quot;&gt;// get the base comparison&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  Node&amp;lt;T&amp;gt; baseNode = &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.firstNode.Next;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: green;&quot;&gt;// traverse the nodes&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; x = 2; x &amp;lt;= &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.count; ++x)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; ((baseNode.Previous.Value &lt;span style=&quot;color: blue;&quot;&gt;as&lt;/span&gt; &lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: teal;&quot;&gt;IComparable&lt;/span&gt;).CompareTo(&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; baseNode.Value) == 1)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; Node&amp;lt;T&amp;gt; comp = &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.firstNode;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;bool&lt;/span&gt; found = &lt;span style=&quot;color: blue;&quot;&gt;false&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; y = 1; y &amp;lt; x &amp;amp;&amp;amp; found != &lt;span style=&quot;color: blue;&quot;&gt;true&lt;/span&gt;; ++y)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; ((baseNode.Value &lt;span style=&quot;color: blue;&quot;&gt;as&lt;/span&gt; &lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: teal;&quot;&gt;IComparable&lt;/span&gt;).CompareTo(comp.Value) != 1)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// We need to change the references&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// to all of the nodes to re-order them.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (baseNode.HasNext)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; baseNode.Next.Previous = &lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  baseNode.Previous;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; baseNode.Previous.Next = &lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  baseNode.Next;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; } &lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;else&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; baseNode.Previous.Next = &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; baseNode.Next = comp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (comp.HasPrevious)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; comp.Previous.Next = &lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  baseNode;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; baseNode.Previous = &lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  comp.Previous;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;else&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; baseNode.Previous = &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; comp.Previous = baseNode;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// the references are set... make &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// sure the first node gets reset&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// if needed.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (y == 1)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.firstNode = baseNode;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; found = &lt;span style=&quot;color: blue;&quot;&gt;true&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: green;&quot;&gt;// Set the next node&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (comp.HasNext)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; comp = comp.Next;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// Set the next node&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (baseNode.HasNext)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; baseNode = baseNode.Next;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;true&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;else&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;false&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Clears all of the items in the&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; list by removing the reference &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; to the first node. The remaining&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; nodes no longer have references to&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; the application and will be collected&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; by the GC.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;void&lt;/span&gt; Clear()&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// kill the reference&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.firstNode = &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// reset the count&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.count = 0;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// let everyone know.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.ListChanged != &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.ListChanged(&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;, &lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; CollectionEventArgs());&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Converts the linked list to&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; an array.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;An array of the items&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; in the linked list ordered by&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; their location in the list top&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; down.&lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; T[] ToArray()&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.count &amp;lt; 1)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;default&lt;/span&gt;(T[]);&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; T[] newArray = &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; T[&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.count];&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// create a temp node&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; Node&amp;lt;T&amp;gt; temp = &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.firstNode;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; newArray[0] = temp.Value;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: green;&quot;&gt;// iterate and get the node&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; x = 1; x &amp;lt; &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.count; ++x)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  temp = temp.Next;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  newArray[x] = temp.Value;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; newArray;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Allows the use of this linked list&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; like it is an array. Get an item&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; in the linked list by it&amp;#39;s location&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; in the list.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;param name=&amp;quot;index&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;The 0 based location&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; of the item to get in the list.&lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;The item at the specified&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: gray;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; location.&lt;/span&gt;&lt;span style=&quot;color: gray;&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; T &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;[&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; index]&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;get&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: green;&quot;&gt;// make sure we can do it before traversal.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (index + 1 &amp;gt; count)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: teal;&quot;&gt;IndexOutOfRangeException&lt;/span&gt;();&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: green;&quot;&gt;// create a temp node&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  Node&amp;lt;T&amp;gt; temp = &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.firstNode;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: green;&quot;&gt;// iterate and get the node&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; x = 1; x &amp;lt;= index; ++x)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; temp = temp.Next;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: green;&quot;&gt;// return the node value&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; temp.Value;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;set&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; {&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: green;&quot;&gt;// make sure we can do it before traversal.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt;(index + 1 &amp;gt; count)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; &lt;span style=&quot;color: blue;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: teal;&quot;&gt;IndexOutOfRangeException&lt;/span&gt;();&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: green;&quot;&gt;// create a temp node&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  Node&amp;lt;T&amp;gt; temp = &lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.firstNode;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: green;&quot;&gt;// iterate and get the node&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: blue;&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; x = 0; x &amp;lt; index; ++x)&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160; temp = temp.Next;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160;  &lt;span style=&quot;color: green;&quot;&gt;// set the node to value&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160;&amp;#160; &amp;#160