public function arrayDelete(array &$array, $identifier) {
		// create reference
		$parts = explode('.', $identifier);
		$returner =& $array;
		$parent =& $array;

		foreach ($parts as $part) {
			// if the array key is set expand the reference
			if (isset($returner[$part]) && !empty($part)) {
				$parent =& $returner;
				$rkey = $part;
				$returner =& $returner[$part];
			} else {
				// delete the reference
				unset($returner);
				break;
			}
		}

		if (isset($returner)) {
			unset($parent[$rkey]);
		} else {
			throw new \Exception(__CLASS__.': identifier "'.$identifier.'" does not exist.');
		}
	}