src/Nether/Surface.php
public function
	GetThemeFile($name,$stack=null) {
	/*//
	@argv string Filename
	@argv string Filename, string StackDefine
	@argv string Filename, array StackList
	@return string or false.
	run through the theme stack and attempt to locate a file that matches the
	request. if found it returns the full filepath to that file - if not then
	it returns boolean false.
	//*/

		// if we passed a stacked request handle it. else assume the stack
		// was passed explictly in the stack argument already.
		if(strpos($name,':') !== false) {
			$stack = explode(':',$name);
			$name = array_pop($stack);
		}

		foreach($this->GetThemeStack($stack) as $theme) {
			$filename = sprintf(
				'%s/%s/%s',
				$this->ThemeRoot,
				$theme,
				$name
			);

			// if this theme file was not found pray continue.
			if(!file_exists($filename) || !is_readable($filename))
			continue;

			// else it seems valid enough so use it.
			return $filename;
		}

		return false;
	}
public function
	GetThemeFile($name,$stack=null) {
	/*//
	@argv string Filename
	@argv string Filename, string StackDefine
	@argv string Filename, array StackList
	@return string or false.
	run through the theme stack and attempt to locate a file that matches the
	request. if found it returns the full filepath to that file - if not then
	it returns boolean false.
	//*/

		// if we passed a stacked request handle it. else assume the stack
		// was passed explictly in the stack argument already.
		if(strpos($name,':') !== false) {
			$stack = explode(':',$name);
			$name = array_pop($stack);
		}

		foreach($this->GetThemeStack($stack) as $theme) {
			$filename = sprintf(
				'%s/%s/%s',
				$this->ThemeRoot,
				$theme,
				$name
			);

			// if this theme file was not found pray continue.
			if(!file_exists($filename) || !is_readable($filename))
			continue;

			// else it seems valid enough so use it.
			return $filename;
		}

		return false;
	}
//////////////