@classmethod
    def apply_parameters(cls, subtypes, names=None):
        if cls.num_subtypes != 'UNKNOWN' and len(subtypes) != cls.num_subtypes:
            raise ValueError("%s types require %d subtypes (%d given)"
                             % (cls.typename, cls.num_subtypes, len(subtypes)))
        newname = cls.cass_parameterized_type_with(subtypes)
        if six.PY2 and isinstance(newname, unicode):
            newname = newname.encode('utf-8')
        return type(newname, (cls,), {'subtypes': subtypes, 'cassname': cls.cassname, 'fieldnames': names})
Given a set of other CassandraTypes, create a new subtype of this type
dataset/ETHPy150Open datastax/python-driver/cassandra/cqltypes.py/_CassandraType.apply_parameters