title: Why ContentPart is not in ContentItem?
body: <p>Why an fieldless ContentPart is not included in a ContentItem?</p>
  
  <p>Here are code from Migrations.cs:</p>
  
  <pre><code>SchemaBuilder.CreateTable("ImageDescribedPartRecord", 
                  table =&gt; table.ContentPartRecord());
  
  ContentDefinitionManager.AlterPartDefinition(
                  "ImageDescribedPart",
                  cpd =&gt; cpd.WithField(
                      "Image",
                      b =&gt; b
                               .OfType("MediaPickerField")
                               .WithSetting("MediaPickerFieldSettings.Required", "false")));
  
  ContentDefinitionManager.AlterTypeDefinition(
                  "PlantPicture",
                  cfg =&gt; cfg
                             .WithPart("ImageDescribedPart")
                             .WithPart("CommonPart", p =&gt; p.WithSetting("OwnerEditorSettings.ShowOwnerEditor", "false"))
                             .WithPart("BodyPart")
                             .WithPart("TitlePart")
                             .WithPart("AutoroutePart"
                                       , builder =&gt;
                                         builder
                                             .WithSetting("AutorouteSettings.AllowCustomPattern", "false")
                                             .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "true")
                                             .WithSetting("AutorouteSettings.PatternDefinitions", "[{Name:'Container', Pattern: '{Content.Container.Path}/images/{Content.Slug}', Description: 'apgii/taxon/sub-taxon/images/title'}]")
                                             .WithSetting("AutorouteSettings.DefaultPatternIndex", "0"))
                             .WithPart("ContainablePart")
                             .Creatable(true)
                      // todo: The following doesn't work. Make it work.
                             .WithSetting("BodyPartSettings.FlavorDefault", "text") 
                             );
  </code></pre>
  
  <p>Here are code for the ContentPart:</p>
  
  <pre><code>public class ImageDescribedPart : ContentPart&lt;ImageDescribedPartRecord&gt;{
  
      }
  
   public class ImageDescribedPartRecord :ContentPartRecord {}
  </code></pre>
  
  <p>The following code from a driver </p>
  
  <pre><code>IContentQuery&lt;ContentItem&gt; query = _contentManager
       .Query(VersionOptions.Published)
      .Join&lt;CommonPartRecord&gt;()
      .Where(cr =&gt; cr.Container.Id == container.Id);
  var items = query.Slice(0, 10).ToList();
  
  IEnumerable&lt;Zulatm.WebPlants.Models.ImageDescribedPart&gt; firstImages = items.AsPart&lt;ImageDescribedPart&gt;();
  
  Logger.Debug("Items count: {0}", items.Count());
  for (int i = 0; i &lt; items.Count(); i++) {
      Logger.Debug("Item {0}: {1}", i, items[i].As&lt;TitlePart&gt;().Title);
  
  }
  Logger.Debug("Images count: {0}",firstImages.Count());
  </code></pre>
  
  <p>Returns the following</p>
  
  <pre><code>2012-12-07 16:28:45,616 [35] TaxonomyNodePartDriver - Items count: 2
  2012-12-07 16:28:45,617 [35] TaxonomyNodePartDriver - Item 0: Test
  2012-12-07 16:28:45,619 [35] TaxonomyNodePartDriver - Item 1: test img 2
  2012-12-07 16:28:45,619 [35] TaxonomyNodePartDriver - Images count: 0
  </code></pre>