public function isDiff($first, $second)
	{
		if(! file_exists($first))
			throw new NoSuchFileException($first);

		$second = $this->oFileNameResolver->resolve($first, $second);

		// If the second file doesn't exist, they're definitely different
		if(! file_exists($second))
			return true;

		// If the file sizes are different, definitely the file contents are different
		if(filesize($first) !== filesize($second))
			return true;

		// File sizes are the same, open the files and look for differences

		if(! ($fh1 = fopen($first, 'rb')))
			throw new FileOpenException($first);

		if(! ($fh2 = fopen($second, 'rb')))
			throw new FileOpenException($second);

		while(! feof($fh1) && ! feof($fh2))
		{
			$data1 = fread($fh1, static::READ_SIZE);
			if(false === $data1)
				throw new FileReadException($first);

			$data2 = fread($fh2, static::READ_SIZE);
			if(false === $data2)
				throw new FileReadException($second);

			if($data1 !== $data2)
				return true;
		}

		return false;
	}