/// <summary>
        /// Initializes a new instance of the ExtendedModel class.
        /// </summary>
        /// <param name="content">The ContentManager to use to load the asset.</param>
        /// <param name="assetName">The name of the asset to load.</param>
        /// <exception cref="InvalidOperationException">Vertex data missing or in invalid format.</exception>
        private ExtendedModel(PackFileContentManager content, string assetName)
        {
            this.model = content.Load<Model>(assetName);

            try
            {
                if (this.model.Tag != null && this.model.Tag is Vector3[])
                {
                    this.vertices = (Vector3[])this.model.Tag;
                }
                else
                {
                    throw new InvalidOperationException(Resources.VertexDataMissingInvalid);
                }

                this.BoundingSphere = BoundingSphere.CreateFromPoints(this.vertices);
                this.BoundingBox = BoundingBox.CreateFromPoints(this.vertices);
            }
            finally
            {
                this.model.Tag = null;
            }

            ExtendedModel.cache.Add(assetName, this);
        }