public function setCurrentTable(Table $table)
    {
        $this->fieldsCacheFile = $this->fieldsCacheDir . DIRECTORY_SEPARATOR . '.table.' . $table->getFullTableName() . '.cache';

        if (file_exists($this->fieldsCacheFile)) {
            try {
                $this->fieldsCache = include $this->fieldsCacheFile;
                $this->fieldsCache = unserialize($this->fieldsCache);
            } catch (\Exception $e) {
                $this->fieldsCache = [];
            }
        }else if(!is_null($this->table) && $this->table->getTableName() !== $table->getTableName()) {
            $this->fieldsCache = [];
        }

        $this->table = $table;

        return $this;
    }