@Override
  public Package resolvePackage(String name) {
    Package pack = super.resolvePackage(name);
    if (pack != null) {
      return pack;
    }

    String name1 = this.internalName + name;
    pack = this.library.resolvePackage(name1);
    if (pack != null) {
      this.addSubPackage(pack);
      return pack;
    }

    for (Library lib : DyvilCompiler.config.libraries) {
      if (lib == this.library) {
        continue;
      }

      pack = lib.resolvePackage(name1);
      if (pack != null) {
        this.addSubPackage(pack);
        return pack;
      }
    }

    return null;
  }
 private IClass loadClass(String fileName, String name, Library library) {
   InputStream is = library.getInputStream(fileName);
   if (is != null) {
     ExternalClass bclass = new ExternalClass(Name.getQualified(name));
     this.classes.add(bclass);
     return ClassReader.loadClass(bclass, is, false);
   }
   return null;
 }
 private IDyvilHeader loadHeader(String fileName, String name, Library library) {
   InputStream is = library.getInputStream(fileName);
   if (is != null) {
     DyvilHeader header = HeaderFile.read(is);
     header.pack = this;
     this.headers.add(header);
     return header;
   }
   return null;
 }