public function &__get($key)
{
// what are we doing?
$log = usingLog()->startAction("retrieve '{$key}' from the checkpoint");
// do we have the data to return?
if (!isset($this->data[$key])) {
// no, we do not
$log->endAction("'{$key}' is not in the checkpoint");
throw new E5xx_NoSuchDataInCheckpoint($key);
}
// yes, we do
$log->endAction($this->data[$key]);
// all done
return $this->data[$key];
}