public void updateTick()
	/* We assume that this method is called every animPeriod ms */
	{
		if (!ticksIgnored) {
			// update total animation time, modulo the animation sequence
			// duration
			animTotalTime = (animTotalTime + animPeriod)
					% (long) (1000 * seqDuration);

			// calculate current displayable image position
			imPosition = (int) (animTotalTime / showPeriod); // in range 0 to
																// num-1
			if ((imPosition == numImages - 1) && (!isRepeating)) { // at end of
																	// sequence
				ticksIgnored = true; // stop at this image
				if (watcher != null)
					watcher.sequenceEnded(imName); // call callback
			}
		}
	} // end of updateTick()