Why isn't Bounds.Encapsulate working as expected?

Based on reading Unity - Scripting API: Bounds my expectation is that if I initialize a Bounds with one object’s position, then encapsulate a number of additional objects’ positions, I’ll end up with a bounding box that completely encloses all of the specified objects. To test this, I wrote a quick & dirty script:

        public List<GameObject> objectsToEncapsulate = new List<GameObject>();

        private void OnDrawGizmos()
        {
            Gizmos.color = Color.green;

            if (objectsToEncapsulate.Count > 0)
            {
                Bounds newBounds = new Bounds(objectsToEncapsulate[0].transform.position, new Vector3(0,1,0));
                for (int i = 0; i < objectsToEncapsulate.Count; i++)
                {
                    newBounds.Encapsulate(objectsToEncapsulate*.transform.position);*

}

Gizmos.DrawWireCube(newBounds.center, newBounds.extents);
}
}
This seems to produce weird results when I run it:
![alt text][1]
The above is a screenshot of the test in action, the only objects in objectsToEncapsulate are the four cubes but instead of the wireframe outline completely encapsulating them, it seems to just be transcribing a smaller internal section of their area- am I just completely misunderstanding how bounds are supposed to behave?
[1]: https://i.imgur.com/fnoz8Si.png

Extents is always half of the size. As DrawWireCube() requests the size as the 2nd argument, you should have given the size (not the extents) of the bounds. If you want to fully encapsulate your objects (not only their centers), it’s best to give Encapsulate() the bounds of the objects instead of their position.