code: @Override
      public void addPackages( Collection<? extends KiePackage> newPkgs ) {
          final List<InternalKnowledgePackage> clonedPkgs = new ArrayList<>();
          for (KiePackage newPkg : newPkgs) {
              clonedPkgs.add(((InternalKnowledgePackage)newPkg).deepCloneIfAlreadyInUse(rootClassLoader));
          }
  
          clonedPkgs.sort(Comparator.comparing( (InternalKnowledgePackage p) -> p.getRules().size() ).reversed().thenComparing( InternalKnowledgePackage::getName ));
          enqueueModification( () -> internalAddPackages( clonedPkgs ) );
      }
docs: Add a <code>Package</code> to the network. Iterates through the
  <code>Package</code> adding Each individual <code>Rule</code> to the
  network. Before update network each referenced <code>WorkingMemory</code>
  is locked.
  
  @param newPkgs The package to add.