public function onSave(ArrayAccess $parameters, $namespace = null)
    {

        $exception = false;
        if (is_null($namespace)) {
            return true;
        }
        try {
            $fieldsCollection = $this->field->query()->where('namespace', $namespace)->get();
            if ($fieldsCollection->isEmpty()) {
                return true;
            }
            $collection = [];

            $fieldsCollection->each(function($field) use(&$collection) {

                if (array_key_exists($field->name, $this->input)) {
                    $collection[$field->id] = $this->input[$field->name];
                }
            });
            call_user_func_array([$this, 'save'], [$collection, $parameters->id, $namespace]);
        } catch (\Exception $e) {

            $exception = $e;
        }

        return $exception === false;
    }