original_string: public function Where( $Func )
  	{
  
  		if ( $Func != null ){
  
  			$repo = array();
  
  			$Func = new Expression( $Func );
  
  			foreach ( $this->repository as $item )
  				if ( $Func->execute( $item ) )
  					$repo[] = $item;
  
  		} else {
  
  			$repo = $this->repository;
  
  		}
  
  		return $this->getClone()->setRepository( $repo );
  
  	}
code: public function Where( $Func )
  	{
  
  		if ( $Func != null ){
  
  			$repo = array();
  
  			$Func = new Expression( $Func );
  
  			foreach ( $this->repository as $item )
  				if ( $Func->execute( $item ) )
  					$repo[] = $item;
  
  		} else {
  
  			$repo = $this->repository;
  
  		}
  
  		return $this->getClone()->setRepository( $repo );
  
  	}
code_tokens: public function Where ( $ Func ) { if ( $ Func != null ) { $ repo = array ( ) ; $ Func = new Expression ( $ Func ) ; foreach ( $ this -> repository as $ item ) if ( $ Func -> execute ( $ item ) ) $ repo [ ] = $ item ; } else { $ repo = $ this -> repository ; } return $ this -> getClone ( ) -> setRepository ( $ repo ) ; }
docstring: Filters a sequence of values based on a predicate.
  
  @param string|Closure $Func
  @return Queryable
docstring_tokens: Filters a sequence of values based on a predicate .