protected function _getPartLine($line_index, $part)
    {
        if (property_exists($this, $part)) {
            if (is_null($line_index)) {
                $column_index = $this->getLineSize();
            } else {
                $line_index--;
            }
            return isset($this->{$part}[$line_index]) ? $this->{$part}[$line_index] : null;
        } elseif (!in_array($part, self::$_table_parts)) {
            throw new InvalidArgumentException(
                sprintf('Unknown table part "%s"!', $part)
            );
        }
    }