code: protected function getClass(BodyParameter $parameter, Context $context, $reference)
      {
          $resolvedSchema = null;
          $jsonReference  = null;
          $array          = false;
          $schema         = $parameter->getSchema();
  
          if ($schema instanceof Reference) {
              list($jsonReference, $resolvedSchema) = $this->resolveSchema($schema, Schema::class);
          }
  
          if ($schema instanceof Schema && $schema->getType() == "array" && $schema->getItems() instanceof Reference) {
              list($jsonReference, $resolvedSchema) = $this->resolveSchema($schema->getItems(), Schema::class);
              $array          = true;
          }
  
          if ($resolvedSchema === null) {
              if ($context->getRegistry()->hasClass($reference)) {
                  return ["\\" . $context->getRegistry()->getSchema($reference)->getNamespace() . "\\Model\\" . $context->getRegistry()->getClass($reference)->getName(), false];
              }
  
              return [$schema->getType(), null];
          }
  
          $class = $context->getRegistry()->getClass($jsonReference);
  
          // Happens when reference resolve to a none object
          if ($class === null) {
              return [$schema->getType(), null];
          }
  
          $class = "\\" . $context->getRegistry()->getSchema($jsonReference)->getNamespace() . "\\Model\\" . $class->getName();
  
          if ($array) {
              $class .= "[]";
          }
  
          return [$class, $array];
      }
docs: @param BodyParameter $parameter
  @param Context $context
  
  @return array