function mergeWith($data = [])
    {
        if (is_array($data) || is_object($data))
            foreach ($data as $key => $value) {
                $this->__data->{$key} = $value;
            }
        return $this;
    }