CBPDocumentService::GetDocument: Bitrix method

      
<?php 
//  CBPDocumentService :: GetDocument()
//  /dist/bitrix/modules/bizproc/classes/general/documentservice.php:29

    
public function GetDocument($parameterDocumentId$parameterDocumentType null)
    {
        
$this->checkCache();
        list(
$moduleId$entity$documentId) = CBPHelper::ParseDocumentId($parameterDocumentId);

        
$documentType = ($parameterDocumentType && is_array($parameterDocumentType)) ? $parameterDocumentType[2] : null;

        
$k $moduleId."@".$entity."@".$documentId.($documentType '@'.$documentType '');
        if (
array_key_exists($k$this->arDocumentsCache))
        {
            return 
$this->arDocumentsCache[$k];
        }

        if (
strlen($moduleId) > 0)
            
CModule::IncludeModule($moduleId);

        if (
class_exists($entity))
        {
            
$this->arDocumentsCache[$k] = call_user_func_array([$entity"GetDocument"], [$documentId$documentType]);
            return 
$this->arDocumentsCache[$k];
        }

        return 
null;
    }