potentially better written as the following to reduce repetition:

    if ($template_path !== false)
    {
        $this->locator->set_template_path($template_path);
    }
    else
    {
        $this->locator->set_default_template_path();
    }

    $appended_paths = array();
    foreach ($paths as $path)
    {
        $appended_paths[] = $path . ($template_path !== false) ? '/' . $template_path : '/template/';
    }

    $this->template->set_style_names($names, $appended_paths);