<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://commons.oreilly.com/wiki/skins/common/feed.css?97"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Talk:Collection of Collections Is a Code Smell - Revision history</title>
		<link>http://commons.oreilly.com/wiki/index.php?title=Talk:Collection_of_Collections_Is_a_Code_Smell&amp;action=history</link>
		<description>Revision history for this page on the wiki</description>
		<language>en</language>
		<generator>MediaWiki 1.11.0</generator>
		<lastBuildDate>Thu, 23 May 2013 19:41:45 GMT</lastBuildDate>
		<item>
			<title>Kevlin: Talk:Collection of Collections is a Code Smell moved to Talk:Collection of Collections Is a Code Smell</title>
			<link>http://commons.oreilly.com/wiki/index.php?title=Talk:Collection_of_Collections_Is_a_Code_Smell&amp;diff=24610&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;a href=&quot;/wiki/index.php/Talk:Collection_of_Collections_is_a_Code_Smell&quot; title=&quot;Talk:Collection of Collections is a Code Smell&quot;&gt;Talk:Collection of Collections is a Code Smell&lt;/a&gt; moved to &lt;a href=&quot;/wiki/index.php/Talk:Collection_of_Collections_Is_a_Code_Smell&quot; title=&quot;Talk:Collection of Collections Is a Code Smell&quot;&gt;Talk:Collection of Collections Is a Code Smell&lt;/a&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 21:45, 5 July 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;/table&gt;</description>
			<pubDate>Sun, 05 Jul 2009 21:45:37 GMT</pubDate>			<dc:creator>Kevlin</dc:creator>			<comments>http://commons.oreilly.com/wiki/index.php/Talk:Collection_of_Collections_Is_a_Code_Smell</comments>		</item>
		<item>
			<title>Kcpeppe: Talk:Code Smell, Collection of Collections moved to Talk:Collection of Collections is a Code Smell: better title</title>
			<link>http://commons.oreilly.com/wiki/index.php?title=Talk:Collection_of_Collections_Is_a_Code_Smell&amp;diff=23546&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;a href=&quot;/wiki/index.php/Talk:Code_Smell%2C_Collection_of_Collections&quot; title=&quot;Talk:Code Smell, Collection of Collections&quot;&gt;Talk:Code Smell, Collection of Collections&lt;/a&gt; moved to &lt;a href=&quot;/wiki/index.php/Talk:Collection_of_Collections_is_a_Code_Smell&quot; title=&quot;Talk:Collection of Collections is a Code Smell&quot;&gt;Talk:Collection of Collections is a Code Smell&lt;/a&gt;: better title&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 14:30, 2 March 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;/table&gt;</description>
			<pubDate>Mon, 02 Mar 2009 14:30:40 GMT</pubDate>			<dc:creator>Kcpeppe</dc:creator>			<comments>http://commons.oreilly.com/wiki/index.php/Talk:Collection_of_Collections_Is_a_Code_Smell</comments>		</item>
		<item>
			<title>Kcpeppe at 13:56, 4 February 2009</title>
			<link>http://commons.oreilly.com/wiki/index.php?title=Talk:Collection_of_Collections_Is_a_Code_Smell&amp;diff=23285&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 13:56, 4 February 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Hi Michael,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Hi Michael,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Nice review. I don't want to use Generics for a number of reasons. The foremost reason is that it distracts from my main point which still applies with or without the use of generics. &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Also, this code differs in functionality from the code that &lt;/del&gt;I'&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;m using in my &lt;/del&gt;example. &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;The use of and performance penalty of &lt;/del&gt;using &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;an iterator is unnecessary. I can also argue against the use of &lt;/del&gt;Generics &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;in this case with the claim that designing with generics &lt;/del&gt;robs you of &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;a &lt;/del&gt;home for behaviors &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;that are associated with the relationships and other state that would be expressed in the missing design element (the missing class)&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Nice review. I don't want to use Generics for a number of reasons. The foremost reason is that it distracts from my main point which still applies with or without the use of generics. I &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;don&lt;/ins&gt;'&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;t want to get tunneled on this specific &lt;/ins&gt;example. &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;There are others that are more complex in nature where &lt;/ins&gt;using Generics robs you of &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;have &lt;/ins&gt;home for &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;associated &lt;/ins&gt;behaviors.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Kevlin pointed out a second point, CompoundKey. Ok, well whats in a name ;-). It is a technical object that represents a kind of CompositeKey. So, I guess I could have named it PersonNameCompositeKey signifying its specialization.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Kevlin pointed out a second point, CompoundKey. Ok, well whats in a name ;-). It is a technical object that represents a kind of CompositeKey. So, I guess I could have named it PersonNameCompositeKey signifying its specialization.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Kirk&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Kirk&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 04 Feb 2009 13:56:51 GMT</pubDate>			<dc:creator>Kcpeppe</dc:creator>			<comments>http://commons.oreilly.com/wiki/index.php/Talk:Collection_of_Collections_Is_a_Code_Smell</comments>		</item>
		<item>
			<title>Kcpeppe at 13:54, 4 February 2009</title>
			<link>http://commons.oreilly.com/wiki/index.php?title=Talk:Collection_of_Collections_Is_a_Code_Smell&amp;diff=23284&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 13:54, 4 February 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Hi Michael,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Hi Michael,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Nice review. I don't want to use Generics for a number of reasons. The foremost reason is that it distracts from my main point which still applies with or without the use of generics. Also, this code differs in functionality from the code that I'm using in my example. The use of and performance penalty of using an iterator is unnecessary. I can also argue against the use of Generics in this case with the claim that designing with generics robs you of a home for behaviors that are associated with the relationships and other state that would be expressed in the missing design element (the missing class)&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;. In other words, this is not an appropriate use of Generics IMHO and I certainly wouldn't condone it by giving it a place in an example&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Nice review. I don't want to use Generics for a number of reasons. The foremost reason is that it distracts from my main point which still applies with or without the use of generics. Also, this code differs in functionality from the code that I'm using in my example. The use of and performance penalty of using an iterator is unnecessary. I can also argue against the use of Generics in this case with the claim that designing with generics robs you of a home for behaviors that are associated with the relationships and other state that would be expressed in the missing design element (the missing class).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Kirk&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Kevlin pointed out a second point, CompoundKey. Ok, well whats in a name ;-). It is a technical object that represents a kind of CompositeKey. So, I guess I could have named it PersonNameCompositeKey signifying its specialization.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Kirk&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Kirk&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wikicontent:diff:version:1.11a:oldid:23283:newid:23284 --&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 04 Feb 2009 13:54:10 GMT</pubDate>			<dc:creator>Kcpeppe</dc:creator>			<comments>http://commons.oreilly.com/wiki/index.php/Talk:Collection_of_Collections_Is_a_Code_Smell</comments>		</item>
		<item>
			<title>Kcpeppe at 13:41, 4 February 2009</title>
			<link>http://commons.oreilly.com/wiki/index.php?title=Talk:Collection_of_Collections_Is_a_Code_Smell&amp;diff=23283&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 13:41, 4 February 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;--[[User:Michael Hunger|Michael Hunger]] 18:36, 26 January 2009 (PST)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;--[[User:Michael Hunger|Michael Hunger]] 18:36, 26 January 2009 (PST)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Hi Michael, &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Because &lt;/del&gt;it distracts from my main point which still applies with or without the use of generics. &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Maybe &lt;/del&gt;this example is &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;too simple to expose &lt;/del&gt;the &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;dangers &lt;/del&gt;of &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;only relying on &lt;/del&gt;generics for the &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;solution&lt;/del&gt;. In this &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;case there is no behavioral loss to using generics. However, that &lt;/del&gt;is not &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;always the case&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Hi Michael,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Nice review. I don't want to use Generics for a number of reasons. The foremost reason is that &lt;/ins&gt;it distracts from my main point which still applies with or without the use of generics. &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Also, &lt;/ins&gt;this &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code differs in functionality from the code that I'm using in my &lt;/ins&gt;example&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;. The use of and performance penalty of using an iterator &lt;/ins&gt;is &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;unnecessary. I can also argue against &lt;/ins&gt;the &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;use &lt;/ins&gt;of &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Generics in this case with the claim that designing with &lt;/ins&gt;generics &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;robs you of a home &lt;/ins&gt;for &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;behaviors that are associated with &lt;/ins&gt;the &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;relationships and other state that would be expressed in the missing design element (the missing class)&lt;/ins&gt;. In &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;other words, &lt;/ins&gt;this is not &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;an appropriate use of Generics IMHO and I certainly wouldn't condone it by giving it a place in an example&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Kirk&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Kirk&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Kirk&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 04 Feb 2009 13:41:16 GMT</pubDate>			<dc:creator>Kcpeppe</dc:creator>			<comments>http://commons.oreilly.com/wiki/index.php/Talk:Collection_of_Collections_Is_a_Code_Smell</comments>		</item>
		<item>
			<title>Kcpeppe at 13:29, 4 February 2009</title>
			<link>http://commons.oreilly.com/wiki/index.php?title=Talk:Collection_of_Collections_Is_a_Code_Smell&amp;diff=23282&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 13:29, 4 February 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;--[[User:Michael Hunger|Michael Hunger]] 18:36, 26 January 2009 (PST)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;--[[User:Michael Hunger|Michael Hunger]] 18:36, 26 January 2009 (PST)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Hi Michael, Because it distracts from my main point which still applies with or without the use of generics. Maybe this example is too simple to expose the dangers of only relying on generics for the solution. In this case there is no behavioral loss to using generics. However, that is not always the case.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Kirk&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 04 Feb 2009 13:29:20 GMT</pubDate>			<dc:creator>Kcpeppe</dc:creator>			<comments>http://commons.oreilly.com/wiki/index.php/Talk:Collection_of_Collections_Is_a_Code_Smell</comments>		</item>
		<item>
			<title>Michael Hunger: New page: Why not name the CompoundKey by its DomainName i.e. ''Name''. And indexing persons to FirstName, LastName is just one view on a PeopleList. That generic List for people could have differen...</title>
			<link>http://commons.oreilly.com/wiki/index.php?title=Talk:Collection_of_Collections_Is_a_Code_Smell&amp;diff=23124&amp;oldid=prev</link>
			<description>&lt;p&gt;New page: Why not name the CompoundKey by its DomainName i.e. ''Name''. And indexing persons to FirstName, LastName is just one view on a PeopleList. That generic List for people could have differen...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Why not name the CompoundKey by its DomainName i.e. ''Name''. And indexing persons to FirstName, LastName is just one view on a PeopleList. That generic List for people could have different projections for different views (indices) that use their own indexing. e.g. something like this (just typed in here not thrown at a compiler)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class People {&lt;br /&gt;
   private final Collection&amp;lt;Person&amp;gt; people=new ArrayList&amp;lt;Person&amp;gt;();&lt;br /&gt;
   public People(Collection&amp;lt;Person&amp;gt; people) {&lt;br /&gt;
     this.people.addAll(people);&lt;br /&gt;
   }&lt;br /&gt;
   public &amp;lt;T extends Projection&amp;gt; SortedMap&amp;lt;T,Person&amp;gt; projectTo(T index) {&lt;br /&gt;
      SortedMap&amp;lt;T,Person&amp;gt; projection=new TreeMap&amp;lt;T,Person&amp;gt;();&lt;br /&gt;
      for (Person person : people) {&lt;br /&gt;
           projection.put(index.from(person), person);&lt;br /&gt;
      }&lt;br /&gt;
      return projection;&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.jexp.de/demotivators/cascading_collections.jpg Cascading Collection Poster]&lt;br /&gt;
&lt;br /&gt;
--[[User:Michael Hunger|Michael Hunger]] 18:36, 26 January 2009 (PST)&lt;/div&gt;</description>
			<pubDate>Tue, 27 Jan 2009 02:36:00 GMT</pubDate>			<dc:creator>Michael Hunger</dc:creator>			<comments>http://commons.oreilly.com/wiki/index.php/Talk:Collection_of_Collections_Is_a_Code_Smell</comments>		</item>
	</channel>
</rss>