Do we need a length check here, or is an IndexOutOfBoundsException acceptable here?  Do we care about nonstandard (or absent) extensions?