title: insertObject: atIndex: - index 3 beyond bounds for empty array
body: <p>I create an array based on a dictionaries key's:</p>
  
  <pre><code>factsBuiltArray = [NSMutableArray arrayWithCapacity: 6];
  if ([statusDict count] == 10) {
      for (NSString *key in [statusDict allKeys]) {
          if ([key isEqualToString: @"currenciesAndConversions"]) {
              [factsBuiltArray insertObject:key atIndex: 0];
          }
          else if ([key isEqualToString: @"languageAndTranslations"]) {
              [factsBuiltArray insertObject:key atIndex: 1];
          }
          else if ([key isEqualToString: @"plugSize"]) {
              [factsBuiltArray insertObject:key atIndex: 2];
          }
          else  if ([key isEqualToString: @"timezone"]) {
              [factsBuiltArray insertObject:key atIndex: 3]; // crashes over here
          }
          else if ([key isEqualToString: @"population"]) {
              [factsBuiltArray insertObject:key atIndex: 4];
          }
          else if ([key isEqualToString: @"wikipedia"]) {
              [factsBuiltArray insertObject:key atIndex: 5];
          }
      }
  }
  </code></pre>
  
  <p>The crash log is:</p>
  
  <pre><code>*** -[__NSArrayM insertObject:atIndex:]: index 3 beyond bounds for empty array
  </code></pre>
  
  <p>Why does inserting an object to an array that is specified with a capacity of 6 make it crash? Very confusing!</p>