@classmethod
def for_new_file(cls, path, disk_format, **kwargs):
    """Create a new disk file and return a DiskRepresentation.

        Args:
          path (str): Path to create file at.
          disk_format (str): Disk format to create, such as 'iso' or 'vmdk'.
          **kwargs: Arguments to pass through to appropriate DiskRepresentation
            subclass for this format.

        Returns:
          DiskRepresentation: representation of the created file.

        Raises:
          NotImplementedError: if ``disk_format`` is not supported.
        """
    if cls.disk_format != disk_format:
        cls = cls.class_for_format(disk_format)
        if cls is None:
            raise NotImplementedError("No support for files of type '{0}'".
                format(disk_format))
    cls.create_file(path, **kwargs)
    return cls(path)
