public function validate($code) {
		$code = $this->_normalize($code, ['clean' => true, 'case' => true]);

		if (strlen($code) !== ($this->_parts * $this->_partLength)) {
			return false;
		}
		$parts = str_split($code, $this->_partLength);

		foreach ($parts as $number => $part) {
			$expected = substr($part, -1);
			$result = $this->_checkdigitAlg1($number + 1, $x = substr($part, 0, strlen($part) - 1));

			if ($result !== $expected) {
				return false;
			}
		}
		return true;
	}