protected function _doLists_callback($matches)
{
# Re-usable patterns to match list item bullets and number markers:
$marker_ul_re = '[*+-]';
$marker_ol_re = '\\d+[\\.]';
$marker_any_re = "(?:{$marker_ul_re}|{$marker_ol_re})";
$list = $matches[1];
$list_type = preg_match("/{$marker_ul_re}/", $matches[4]) ? "ul" : "ol";
$marker_any_re = "ul" == $list_type ? $marker_ul_re : $marker_ol_re;
$list .= "\n";
$result = $this->processListItems($list, $marker_any_re);
$result = $this->hashBlock("<{$list_type}>\n" . $result . "</{$list_type}>");
return "\n" . $result . "\n\n";
}