code: def create_diff_storage(self, target, variant):
          
          if not isinstance(target, IMedium):
              raise TypeError("target can only be an instance of type IMedium")
          if not isinstance(variant, list):
              raise TypeError("variant can only be an instance of type list")
          for a in variant[:10]:
              if not isinstance(a, MediumVariant):
                  raise TypeError(
                          "array can only contain objects of type MediumVariant")
          progress = self._call("createDiffStorage",
                       in_p=[target, variant])
          progress = IProgress(progress)
          return progress
docs: Starts creating an empty differencing storage unit based on this
          medium in the format and at the location defined by the @a target
          argument.
          
          The target medium must be in :py:attr:`MediumState.not_created` 
          state (i.e. must not have an existing storage unit). Upon successful
          completion, this operation will set the type of the target medium to
          :py:attr:`MediumType.normal`  and create a storage unit necessary to
          represent the differencing medium data in the given format (according
          to the storage format of the target object).
          
          After the returned progress object reports that the operation is
          successfully complete, the target medium gets remembered by this
          VirtualBox installation and may be attached to virtual machines.
          
          
          The medium will be set to :py:attr:`MediumState.locked_read` 
          state for the duration of this operation.
  
          in target of type :class:`IMedium`
              Target medium.
  
          in variant of type :class:`MediumVariant`
              Exact image variant which should be created (as a combination of
              :py:class:`MediumVariant`  flags).
  
          return progress of type :class:`IProgress`
              Progress object to track the operation completion.
  
          raises :class:`VBoxErrorObjectInUse`
              Medium not in @c NotCreated state.