public static function hash($object, $algoOrCtx = 'md5', $raw = FALSE)
	{
		if (is_string($algoOrCtx)) {
			$ctx = hash_init($algoOrCtx);
		} else {
			$ctx = $algoOrCtx;
		}

		if (isset($object->name)) {
			hash_update($ctx, 'name');
			hash_update($ctx, (string)$object->name);
		}

		if (isset($object->insertionPoint)) {
			hash_update($ctx, 'insertionPoint');
			hash_update($ctx, (string)$object->insertionPoint);
		}

		if (isset($object->content)) {
			hash_update($ctx, 'content');
			hash_update($ctx, (string)$object->content);
		}

		if (is_string($algoOrCtx)) {
			return hash_final($ctx, $raw);
		} else {
			return null;
		}
	}