public function push(AbstractModel $model)
    {
        $this->validateAdd($model);
        if (true === $this->willAdd($model)) {
            return $this;
        }
        if (true === $this->willRemove($model)) {
            $this->evict('removed', $model);
            $this->set('models', $model);
            return $this;
        }
        if (true === $this->hasOriginal($model)) {
            return $this;
        }
        $this->set('added', $model);
        $this->set('models', $model);
        return $this;
    }
public function push(AbstractModel $model)
    {
        $this->validateAdd($model);
        if (true === $this->willAdd($model)) {
            return $this;
        }
        if (true === $this->willRemove($model)) {
            $this->evict('removed', $model);
            $this->set('models', $model);
            return $this;
        }
        if (true === $this->hasOriginal($model)) {
            return $this;
        }
        $this->set('added', $model);
        $this->set('models', $model);
        return $this;
    }
public function push ( AbstractModel $ model ) { $ this -> validateAdd ( $ model ) ; if ( true === $ this -> willAdd ( $ model ) ) { return $ this ; } if ( true === $ this -> willRemove ( $ model ) ) { $ this -> evict ( 'removed' , $ model ) ; $ this -> set ( 'models' , $ model ) ; return $ this ; } if ( true === $ this -> hasOriginal ( $ model ) ) { return $ this ; } $ this -> set ( 'added' , $ model ) ; $ this -> set ( 'models' , $ model ) ; return $ this ; }
Pushes a Model into the collection.

@param   AbstractModel   $model  The model to push.
@return  self
Pushes a Model into the collection .