protected function _getPartColumn($column_index, $part)
    {
        if (property_exists($this, $part)) {
            if (is_null($column_index)) {
                $column_index = $this->getColumnSize();
            } else {
                $column_index--;
            }
            $column = array();
            foreach($this->tbody as $line) {
                $column[] = isset($line[$column_index]) ? $line[$column_index] : '';
            }
            return $column;
        } elseif (!in_array($part, self::$_table_parts)) {
            throw new InvalidArgumentException(
                sprintf('Unknown table part "%s"!', $part)
            );
        }
    }