docs: public static CompiledNetwork compile(KnowledgeBuilderImpl kBuilder, ObjectTypeNode objectTypeNode) {
          if (objectTypeNode == null) {
              throw new IllegalArgumentException("ObjectTypeNode cannot be null!");
          }
          if (kBuilder == null) {
              throw new IllegalArgumentException("PackageBuilder cannot be null!");
          }
          ObjectTypeNodeCompiler compiler = new ObjectTypeNodeCompiler(objectTypeNode);
  
          String packageName = compiler.getPackageName();
  
          PackageRegistry pkgReg = kBuilder.getPackageRegistry(packageName);
          if (pkgReg == null) {
              kBuilder.addPackage(new PackageDescr(packageName));
              pkgReg = kBuilder.getPackageRegistry(packageName);
          }
  
          SourceGenerated source = compiler.generateSource();
  
          logger.debug("Generated alpha node compiled network source:\n" + source.source);
  
          MemoryFileSystem mfs = new MemoryFileSystem();
          mfs.write(compiler.getSourceName(), source.source.getBytes(IoUtils.UTF8_CHARSET));
  
          MemoryFileSystem trg = new MemoryFileSystem();
          ProjectClassLoader rootClassLoader = (ProjectClassLoader) kBuilder.getRootClassLoader();
          CompilationResult compiled = JAVA_COMPILER.compile(new String[]{compiler.getSourceName()}, mfs, trg, rootClassLoader);
  
          if (compiled.getErrors().length > 0) {
              throw new RuntimeException("This is a bug. Please contact the development team:\n" + Arrays.toString(compiled.getErrors()));
          }
  
          rootClassLoader.defineClass(compiler.getName(), trg.getBytes(compiler.getBinaryName()));
  
          CompiledNetwork network;
          try {
              final Class<?> aClass = Class.forName(compiler.getName(), true, rootClassLoader);
              final IndexableConstraint indexableConstraint = source.indexableConstraint;
              network = (CompiledNetwork) aClass.getConstructor(InternalReadAccessor.class).newInstance(indexableConstraint != null ? indexableConstraint.getFieldExtractor(): null);
          } catch (Exception e) {
              throw new RuntimeException("This is a bug. Please contact the development team", e);
          }
  
          return network;
      }