Leak in copyWithZone
<p>The below code leaks.  Should I be autoreleasing newCopy before the return?</p>

<pre><code>- (id) copyWithZone:(NSZone *)zone {

 Group *newCopy;
 newCopy = [[[self class] allocWithZone:zone] init];
 newCopy.groupName = [[[self groupName] copy] autorelease];

 for (int i=0; i &lt; [[self linkArray] count]; i++) {
  [[newCopy linkArray] addObject:[[[[self linkArray] objectAtIndex:i] copy] autorelease]];
 }
 return newCopy; 
}
</code></pre>
