code: public function setEnvironment($environment)
      {
          $environment = strtolower($environment);
  
          // list of implemented environments
          if (in_array($environment, $this->implemented)) {
              $this->environment = $environment;
              return $this;
          }
  
          // Linux, Unix and OSX don't differ much, therefore
          // we can use the same implementation
          if (preg_match('/(Linux|Unix|Darwin)/i', $environment, $match)) {
              $this->environment = 'unix';
              return $this;
          }
  
          // if the OS name begins with Win then
          // it's most likely Windows
          if ('WIN' === strtoupper(substr($environment, 0, 3))) {
              throw new \UnexpectedValueException("Windows isn't supported.");
          }
  
          // fallback to Unix
          $this->environment = 'unix';
  
          return $this;
      }
docs: Sets the environment
  
  Falls back to Unix if the environment is not implemented
  
  @param $environment
  @return $this
  
  @throws \UnexpectedValueException