code: public static function registerSchema(Schema $schema): void
      {
          $nextId = count(self::$curies) + 10000;
          self::$curies[$schema->getId()->getCurieMajor()] = $nextId;
          self::$classes[$nextId] = $schema->getClassName();
          foreach ($schema->getMixinIds() as $mixin) {
              unset(self::$resolvedMixins[$mixin]);
              if (!isset(self::$mixins[$mixin])) {
                  self::$mixins[$mixin] = [];
              }
  
              self::$mixins[$mixin][] = $nextId;
          }
      }
docs: Adds a single schema to the resolver.  This is used in tests or dynamic
  message schema creation (not a typical or recommended use case).
  
  @param Schema $schema