public function close()
   {

      if ( ! \is_resource( $this->fp ) )
      {
         return;
      }

      \fclose( $this->fp );
      $this->fp = null;

      if ( $this->access == static::ACCESS_WRITE || $this->access == static::ACCESS_READWRITE )
      {

         if ( ! \is_null( $this->mode ) && '\\' !== DIRECTORY_SEPARATOR )
         {
            \chmod( $this->file, $this->mode );
         }

      }

   }