public function getTableNames($schema = '', $refresh = false)
    {
        if (!isset($this->_tableNames[$schema]) || $refresh) {
            return $this->findTableNames($schema)->then(
                function($names) use ($schema) {
                    $this->_tableNames[$schema] = $names;
                    return $names;
                }
            );
        }

        return resolve($this->_tableNames[$schema]);
    }