A method to get a document's path
I'm sorry, this is not an answer to your question, but it is a partial review of your code.

It seems you've got a serious problem with choosing your names. They don't actually tell me what the purpose of the methods is, or the content of the variables. 

Your method getDocument() can do two things: Return the path or the folder of the document. The name doesn't tell me that. It should be something like getDocumentPathOrFolder(). The argument $documentName doesn't contain a document name. It's a boolean. The only way to find out, what really is contained in this argument, is to read the code in the method. It seems to decide whether a path or folder should be returned. A better name would have been $addNameToFolder. Still not ideal.

To make matters worse you have a method called getPath() which, you've guessed it, doesn't return a path. By now I no idea what is actually returned by this method. 

If I'm allowed to completely rewrite your code, with a better structure and better names, it would look something like this:

class Document 
{

    public function getDocumentName()
    {
        return $this-&gt;documentName;
    }

    public function getDocumentFolder()
    {
        return storage_path("app/{$this-&gt;stream-&gt;token}/{$this-&gt;unique_id}/"); 
    }

    public function getDocumentPath()
    { 
        return $this-&gt;getDocumentFolder() . $this-&gt;getDocumentName();
    }

}


I assume that storage_path() is part of Laravel, and cannot be changed. The long argument to storage_path() should probably be split into its seperate parts, especially if you also use it elsewhere, but please, spent some time to choose good names.

References:

Ten tips to help you choose good names

Writing Good Method &amp; Variable Names 

The importance of naming in programming