Fetch a value using ones based position

@access public
@param integer $position
@return mixed | null if bad position
546540
public function getAt($position)
    {
        if($position < $this->count() && $position < 0) {
            return null;
        }
        
        $this->first();
        
        while($position > 1) {
            $this->next();
            --$position;
        }
        
        return $this->current();
    }
1079245
private function delete(int $position)
    {
        $pair  = $this->pairs[$position];
        $value = $pair->value;

        array_splice($this->pairs, $position, 1, null);
        $this->checkCapacity();

        return $value;
    }
158507
public function at(int $position): Utility
    {
        if ($position < 0) {
            return new static('', $this->encoding);
        }

        return $this->substring($position, 1);
    }
1030020
public function getByPosition($pos)
    {
        switch ($pos) {
            case 0:
                return $this->getId();
                break;
            case 1:
                return $this->getPersonId();
                break;
            case 2:
                return $this->getFunctionId();
                break;
            case 3:
                return $this->getCreatedAt();
                break;
            case 4:
                return $this->getUpdatedAt();
                break;
            case 5:
                return $this->getVersion();
                break;
            case 6:
                return $this->getVersionCreatedAt();
                break;
            case 7:
                return $this->getVersionCreatedBy();
                break;
            case 8:
                return $this->getPersonIdVersion();
                break;
            case 9:
                return $this->getFunctionIdVersion();
                break;
            default:
                return null;
                break;
        } // switch()
    }
676256
public function getByPosition($pos)
    {
        switch ($pos) {
            case 0:
                return $this->getId();
                break;
            case 1:
                return $this->getLogin();
                break;
            case 2:
                return $this->getMapuid();
                break;
            case 3:
                return $this->getScore();
                break;
            case 4:
                return $this->getCreatedAt();
                break;
            case 5:
                return $this->getUpdatedAt();
                break;
            default:
                return null;
                break;
        } // switch()
    }
1057765
public function position($position = null)
    {
        return is_null($position) ? $this->position : $this->position = $position;
    }
1234354
public function getByPosition($pos)
    {
        switch ($pos) {
            case 0:
                return $this->getId();
                break;
            case 1:
                return $this->getFeatureAvId();
                break;
            case 2:
                return $this->getFeatureFeatureTypeId();
                break;
            case 3:
                return $this->getLocale();
                break;
            case 4:
                return $this->getValue();
                break;
            case 5:
                return $this->getCreatedAt();
                break;
            case 6:
                return $this->getUpdatedAt();
                break;
            default:
                return null;
                break;
        } // switch()
    }
54155
public function getByPosition($pos)
    {
        switch ($pos) {
            case 0:
                return $this->getId();
                break;
            case 1:
                return $this->getMapuid();
                break;
            case 2:
                return $this->getName();
                break;
            case 3:
                return $this->getFilename();
                break;
            case 4:
                return $this->getAuthor();
                break;
            case 5:
                return $this->getEnvironment();
                break;
            case 6:
                return $this->getMood();
                break;
            case 7:
                return $this->getBronzetime();
                break;
            case 8:
                return $this->getSilvertime();
                break;
            case 9:
                return $this->getGoldtime();
                break;
            case 10:
                return $this->getAuthortime();
                break;
            case 11:
                return $this->getCopperprice();
                break;
            case 12:
                return $this->getLaprace();
                break;
            case 13:
                return $this->getNblaps();
                break;
            case 14:
                return $this->getNpcheckpoints();
                break;
            case 15:
                return $this->getMaptype();
                break;
            case 16:
                return $this->getMapstyle();
                break;
            case 17:
                return $this->getCreatedAt();
                break;
            case 18:
                return $this->getUpdatedAt();
                break;
            default:
                return null;
                break;
        } // switch()
    }
851997
public function charAt($position)
    {
        if (isset($this->stringVar[$position])) {
            return $this->stringVar[$position];
        }
        return false;
    }
855094
public function hasFieldsOnPosition($position)
	{
		$fieldsOnPosition = false;

		foreach ($this->getFields() as $field) {
			if ($field->getPosition() == $position) {
				$fieldsOnPosition = true;
			}
		}

		return $fieldsOnPosition;
	}
61350
public function getByPosition($pos)
    {
        switch ($pos) {
            case 0:
                return $this->getId();
                break;
            case 1:
                return $this->getFile();
                break;
            case 2:
                return $this->getPersonId();
                break;
            case 3:
                return $this->getVisible();
                break;
            case 4:
                return $this->getPosition();
                break;
            case 5:
                return $this->getCreatedAt();
                break;
            case 6:
                return $this->getUpdatedAt();
                break;
            default:
                return null;
                break;
        } // switch()
    }
1259629
public function getCurrentLine($position = self::CURRENT_POSITION)
    {
        if (self::CURRENT_POSITION === $position) {
            $position = $this->position;
        }

        $offset = $this->getLastEol($position);
        $length = $this->getNextEol($position) - $offset;
        return substr($this->data, $offset, $length);
    }
1082896
public function getLocation($position)
    {
        $pattern = '/\r\n|[\n\r\u2028\u2029]/g';
        $subject = mb_substr($this->body, 0, $position, 'UTF-8');

        preg_match_all($pattern, $subject, $matches, PREG_OFFSET_CAPTURE);
        $location = array_reduce($matches[0], function ($carry, $match) use ($position) {
            return [
                $carry[0] + 1,
                $position + 1 - ($match[1] + mb_strlen($match[0], 'UTF-8'))
            ];
        }, [1, $position + 1]);

        return new SourceLocation($location[0], $location[1]);
    }
38030
public function getLastEol($position = self::CURRENT_POSITION)
    {
        if (self::CURRENT_POSITION === $position) {
            $position = $this->position;
        }

        return strrpos(substr($this->data, 0, $position), "\n", 0);
    }
1193803
public function getByPosition($pos)
    {
        switch ($pos) {
            case 0:
                return $this->getId();
                break;
            case 1:
                return $this->getUserId();
                break;
            case 2:
                return $this->getCustomerId();
                break;
            default:
                return null;
                break;
        } // switch()
    }
1259942
public function getByPosition($pos)
    {
        switch ($pos) {
            case 0:
                return $this->getId();
                break;
            case 1:
                return $this->getPersonId();
                break;
            case 2:
                return $this->getFunctionId();
                break;
            case 3:
                return $this->getCreatedAt();
                break;
            case 4:
                return $this->getUpdatedAt();
                break;
            default:
                return null;
                break;
        } // switch()
    }
578002
public function getByPosition($pos)
    {
        switch ($pos) {
            case 0:
                return $this->getId();
                break;
            case 1:
                return $this->getLogin();
                break;
            case 2:
                return $this->getNickname();
                break;
            case 3:
                return $this->getNicknameStripped();
                break;
            case 4:
                return $this->getPath();
                break;
            case 5:
                return $this->getWins();
                break;
            case 6:
                return $this->getOnlineTime();
                break;
            case 7:
                return $this->getLastOnline();
                break;
            default:
                return null;
                break;
        } // switch()
    }