code: public function serialize($record, $meta = null, array $links = [])
      {
          $serializer = clone $this->serializer;
          $serializer->withMeta($meta)->withLinks($links);
          $serialized = $serializer->serializeData($record, $this->createEncodingParameters());
          $resourceLinks = null;
  
          if (empty($serialized['data']['id'])) {
              unset($serialized['data']['id']);
              $resourceLinks = false; // links will not be valid so strip them out.
          }
  
          $resource = $this->parsePrimaryResource($serialized['data'], $resourceLinks);
          $document = ['data' => $resource];
  
          if (isset($serialized['included']) && $this->doesSerializeCompoundDocuments()) {
              $document['included'] = $this->parseIncludedResources($serialized['included']);
          }
  
          return $document;
      }
docs: Serialize a domain record.
  
  @param $record
  @param mixed|null $meta
  @param mixed|null $links
  @return array