public function parse( $file )
    {
        if ( ! is_file( $file ) || ! is_readable( $file ) )
        {
            return null;
        }

        $sheet  = new Sheet\Structure();
        $this->buffer = @ file_get_contents( $file );
        $this->acceptBom();

        while ( ! empty( $this->buffer ) )
        {
            $this->acceptEntry( $sheet );
        }

        return $sheet;
    }