PackageEntryTable (@NotNull List<String> strList) { PackageEntryTable entryTable = new PackageEntryTable(); for (String strValue : strList) { String parseStr = strValue.trim(); if (parseStr.length() > 0 && parseStr.charAt(0) == BLANK_LINE_CHAR) { for (int i = 0; i < parseStr.length(); i ++) { if (parseStr.charAt(i) == BLANK_LINE_CHAR) { entryTable.addEntry(PackageEntry.BLANK_LINE_ENTRY); } } } else { boolean isStatic = false; boolean isWithSubpackages = false; if (parseStr.startsWith(STATIC_PREFIX)) { parseStr = parseStr.substring(STATIC_PREFIX.length()).trim(); isStatic = true; } parseStr = parseStr.trim(); if (parseStr.endsWith("**")) { isWithSubpackages = true; parseStr = parseStr.substring(0, parseStr.length() - 1); } if ("*".equals(parseStr)) { entryTable.addEntry(isStatic ? PackageEntry.ALL_OTHER_STATIC_IMPORTS_ENTRY : PackageEntry.ALL_OTHER_IMPORTS_ENTRY); } else { entryTable.addEntry(new PackageEntry(isStatic, parseStr, isWithSubpackages)); } } } return entryTable; }