public function process() { if ($this->processed) { return $this->getFilename(); } $this->processed = true; if (!$this->isFresh()) { $this->write(); } return $this->getFilename(); }