def METHOD_NAME(self, name, coverage_type_names, mask_type_names,
                  validity_mask_type_names, browse_type_names,
                  *args, **kwargs):
    """ Handle the creation of a new product type.
    """
    product_type = models.ProductType.objects.create(name=name)
    for coverage_type_name in coverage_type_names:
        try:
            coverage_type = models.CoverageType.objects.get(
                name=coverage_type_name
            )
            product_type.allowed_coverage_types.add(coverage_type)
        except models.CoverageType.DoesNotExist:
            raise CommandError(
                'Coverage type %r does not exist' % coverage_type_name
            )
    for mask_type_name in mask_type_names:
        models.MaskType.objects.create(
            name=mask_type_name, product_type=product_type
        )
    for mask_type_name in validity_mask_type_names:
        models.MaskType.objects.create(
            name=mask_type_name, product_type=product_type,
            validity=True
        )
    for browse_type_name in browse_type_names:
        models.BrowseType.objects.create(
            name=browse_type_name, product_type=product_type
        )
    print('Successfully created product type %r' % name)