public function getFrom()
    {
        if ($this->from === null) {
            if ($this->getStartType() == BinlogParser::START_TYPE_DATE) {
                $temp_date = $this->getPairStorage()->get(self::LAST_SYNC_DATE_PARAM);

                if ($temp_date === null) {
                    $this->generateLastSyncNotSetError(self::LAST_SYNC_DATE_PARAM);
                } else {
                    $this->from = new DateTime($temp_date);
                }
            } elseif ($this->getStartType() == BinlogParser::START_TYPE_POSITION) {
                $this->from = $this->getPairStorage()->get(self::LAST_SYNC_POSITION_PARAM);

                if ($this->from === null) {
                    $this->generateLastSyncNotSetError(self::LAST_SYNC_POSITION_PARAM);
                }
            }
        }

        return $this->from;
    }
public function getFrom()
    {
        if ($this->from === null) {
            if ($this->getStartType() == BinlogParser::START_TYPE_DATE) {
                $temp_date = $this->getPairStorage()->get(self::LAST_SYNC_DATE_PARAM);

                if ($temp_date === null) {
                    $this->generateLastSyncNotSetError(self::LAST_SYNC_DATE_PARAM);
                } else {
                    $this->from = new DateTime($temp_date);
                }
            } elseif ($this->getStartType() == BinlogParser::START_TYPE_POSITION) {
                $this->from = $this->getPairStorage()->get(self::LAST_SYNC_POSITION_PARAM);

                if ($this->from === null) {
                    $this->generateLastSyncNotSetError(self::LAST_SYNC_POSITION_PARAM);
                }
            }
        }

        return $this->from;
    }
@return \DateTime|int

@throws \InvalidArgumentException