private void buildRules(Collection<CompositePackageDescr> packages) {
   for (CompositePackageDescr packageDescr : packages) {
     kBuilder.setAssetFilter(packageDescr.getFilter());
     PackageRegistry pkgRegistry = kBuilder.getPackageRegistry(packageDescr.getNamespace());
     kBuilder.compileAllRules(packageDescr, pkgRegistry);
     kBuilder.setAssetFilter(null);
   }
 }
 private void buildOtherDeclarations(Collection<CompositePackageDescr> packages) {
   for (CompositePackageDescr packageDescr : packages) {
     kBuilder.setAssetFilter(packageDescr.getFilter());
     PackageRegistry pkgRegistry = kBuilder.getPackageRegistry(packageDescr.getNamespace());
     kBuilder.processOtherDeclarations(pkgRegistry, packageDescr);
     kBuilder.setAssetFilter(null);
   }
 }
 private void buildOthers() {
   try {
     for (Map.Entry<ResourceType, List<ResourceDescr>> entry : resourcesByType.entrySet()) {
       for (ResourceDescr resourceDescr : entry.getValue()) {
         kBuilder.setAssetFilter(resourceDescr.getFilter());
         kBuilder.addPackageForExternalType(
             resourceDescr.resource, entry.getKey(), resourceDescr.configuration);
         kBuilder.setAssetFilter(null);
       }
     }
   } catch (RuntimeException e) {
     throw e;
   } catch (Exception e) {
     throw new RuntimeException(e);
   }
 }
 private void buildResourceType(ResourceBuilder resourceBuilder, ResourceType resourceType) {
   List<ResourceDescr> resourcesByType = this.resourcesByType.remove(resourceType);
   if (resourcesByType != null) {
     for (ResourceDescr resourceDescr : resourcesByType) {
       try {
         kBuilder.setAssetFilter(resourceDescr.getFilter());
         resourceBuilder.build(kBuilder, resourceDescr);
       } catch (RuntimeException e) {
         if (buildException == null) {
           buildException = e;
         }
       } catch (Exception e) {
         if (buildException == null) {
           buildException = new RuntimeException(e);
         }
       } finally {
         kBuilder.setAssetFilter(null);
       }
     }
   }
 }