public static PbFile[] getImportedFilesByPackageName(PbFile file, @NotNull String packageName) {
   PbImportDef[] importDefs = file.getImportDefinitions();
   ArrayList<PbFile> importFiles = new ArrayList<PbFile>(importDefs.length);
   for (PbImportDef importDef : importDefs) {
     PbFile aliasedFile = importDef.getAliasedFile();
     if (aliasedFile != null && packageName.equals(aliasedFile.getPackageName())) {
       importFiles.add(aliasedFile);
     }
   }
   if (importFiles.size() == 0) {
     return EMPTY_FILE_ARRAY;
   }
   return importFiles.toArray(new PbFile[importFiles.size()]);
 }
 public static PbFile[] getImportedFiles(PbFile file, boolean onlyAliased) {
   PbImportDef[] importDefs = file.getImportDefinitions();
   ArrayList<PbFile> importFiles = new ArrayList<PbFile>(importDefs.length);
   for (PbImportDef importDef : importDefs) {
     PbFile aliasedFile = importDef.getAliasedFile();
     if (aliasedFile != null || !onlyAliased) {
       importFiles.add(aliasedFile);
     }
   }
   if (importFiles.size() == 0) {
     return EMPTY_FILE_ARRAY;
   }
   return importFiles.toArray(new PbFile[importFiles.size()]);
 }