public function get($index = null, $fetchFields = []) {
	$this->lock();

	if(is_null($index)) {
		$index = $this->file->key();
	}
	else {
		if(!(is_int($index) || ctype_digit($index))
		|| $index < 0) {
			throw new InvalidIndexException($index);
		}
		$index = (int)$index;
	}

	if($index <= $this->file->key() + 1) {
		$this->file->rewind();
	}

	while($index >= $this->file->key()) {
		$this->file->next();
	}

	if(!$this->file->valid()) {
		$this->file->flock(LOCK_UN);
		return false;
	}

	$data = $this->file->current();
	$this->file->flock(LOCK_UN);

	$row = $this->toAssociative($data);
	return $row;
}