def append(self, fieldname, changeType, initialValue=None, isMd5=False):
raise NotImplementedError()<EOL>
Add a change to this ChangeTracker.

:param fieldname:

  The item attribute that was changed in some way. The type of
  `fieldname` is dependent on which subclass of ChangeTracker is
  being used.

:param changeType:

  The type of change that was applied to `fieldname`, which can be
  one of ``pysyncml.ITEM_ADDED``, ``pysyncml.ITEM_MODIFIED``, or
  ``pysyncml.ITEM_DELETED``.

:param initialValue:

  For non-ADDED change types, specifies the *initial* value of the
  field, before the change was applied. Note that if the
  `initialValue` is very large, an MD5 checksum can be provided
  instead, in which case `isMd5` should be set to ``True``.

:param isMd5:

  Specifies whether `initialValue` is an MD5 checksum or not. For
  large values of `initialValue` the ChangeTrackers will
  automatically convert it to a checksum, but this allows the
  caller to potentially do some additional optimizations.