public function resetParts(array $partNames = array())
    {
        if (empty($partNames)) {
            $partNames = array_keys($this->parts);
        }

        foreach ($partNames as $partName) {
            $this->resetPart($partName);
        }

        return $this;
    }