Skip to content

Commit 43ec1b7

Browse files
committed
Optimized contains on lists (#213)
1 parent 4ae08b2 commit 43ec1b7

File tree

9 files changed

+106
-93
lines changed

9 files changed

+106
-93
lines changed

src/main/java/com/imsweb/algorithms/StateCountyInputDto.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,26 @@
55

66
import java.util.Arrays;
77
import java.util.HashMap;
8-
import java.util.List;
8+
import java.util.HashSet;
99
import java.util.Map;
10+
import java.util.Set;
1011

1112
import org.apache.commons.lang3.math.NumberUtils;
1213

1314
public class StateCountyInputDto {
1415

1516
//Valid NAACCR values for state at dx
16-
private static final List<String> _VALID_STATES = Arrays.asList("AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA",
17+
private static final Set<String> _VALID_STATES = new HashSet<>(Arrays.asList("AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA",
1718
"HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ",
1819
"NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY",
1920
"AS", "GU", "MP", "PW", "PR", "UM", "VI", "FM", "MH", "TT", "AB", "BC", "MB", "NB", "NL", "NS", "NT", "NU", "ON", "PE",
20-
"QC", "SK", "YT", "AA", "AE", "AP");
21+
"QC", "SK", "YT", "AA", "AE", "AP"));
2122

2223
//NAACCR values for missing or unknown state at dx
23-
private static final List<String> _MISSING_OR_UNKNOWN_STATES = Arrays.asList("", "CD", "US", "XX", "YY", "ZZ");
24+
private static final Set<String> _MISSING_OR_UNKNOWN_STATES = new HashSet<>(Arrays.asList("", "CD", "US", "XX", "YY", "ZZ"));
2425

2526
//NAACCR values for missing or unknown county at dx
26-
private static final List<String> _MISSING_OR_UNKNOWN_COUNTIES = Arrays.asList("", "999");
27+
private static final Set<String> _MISSING_OR_UNKNOWN_COUNTIES = new HashSet<>(Arrays.asList("", "999"));
2728

2829
// SEER City recodes
2930
private static final Map<String, String> _SEER_CITY_RECODES = new HashMap<>();

src/main/java/com/imsweb/algorithms/StateCountyTractInputDto.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
package com.imsweb.algorithms;
55

66
import java.util.Arrays;
7-
import java.util.List;
7+
import java.util.HashSet;
8+
import java.util.Set;
89

910
import org.apache.commons.lang3.math.NumberUtils;
1011

@@ -15,7 +16,7 @@ public enum CensusTract {
1516
}
1617

1718
//NAACCR values for missing or unknown census tract
18-
private static final List<String> _MISSING_OR_UNKNOWN_CENSUS_TRACTS = Arrays.asList("", "000000", "999999");
19+
private static final Set<String> _MISSING_OR_UNKNOWN_CENSUS_TRACTS = new HashSet<>(Arrays.asList("", "000000", "999999"));
1920

2021
private String _censusTract2000;
2122
private String _censusTract2010;

src/main/java/com/imsweb/algorithms/countyatdiagnosisanalysis/CountyAtDxAnalysisUtils.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55

66
import java.util.Arrays;
77
import java.util.HashMap;
8-
import java.util.List;
8+
import java.util.HashSet;
99
import java.util.Map;
10+
import java.util.Set;
1011

1112
import org.apache.commons.lang3.StringUtils;
1213

@@ -38,7 +39,7 @@ public final class CountyAtDxAnalysisUtils {
3839
public static final String OTHER_STATE_OR_DX_YEAR_BLANK = "10";
3940
public static final String OTHER_REP_AND_GEO_BLANK = "10.1";
4041

41-
private static final List<String> _CANADIAN_STATE_ABBREVIATIONS = Arrays.asList("AB", "BC", "MB", "NB", "NL", "NS", "NT", "NU", "ON", "PE", "QC", "SK", "YT");
42+
private static final Set<String> _CANADIAN_STATE_ABBREVIATIONS = new HashSet<>(Arrays.asList("AB", "BC", "MB", "NB", "NL", "NS", "NT", "NU", "ON", "PE", "QC", "SK", "YT"));
4243

4344
private CountyAtDxAnalysisUtils() {
4445
// no instances of this class allowed!
@@ -115,11 +116,11 @@ else if (!isBlankOrNineFilled(geocoderCertainty) && isBlankOrNineFilled(input.ge
115116
output.setCountyAtDxAnalysis(geocoderCountyAtDx);
116117
output.setCountyAtDxAnalysisFlag(GEO_CERT_KNOWN_REP_UNK);
117118
}
118-
else if (Arrays.asList("1", "6").contains(geocoderCertainty)) {
119+
else if ("1".equals(geocoderCertainty) || "6".equals(geocoderCertainty)) {
119120
output.setCountyAtDxAnalysis(geocoderCountyAtDx);
120121
output.setCountyAtDxAnalysisFlag(GEO_CERT_1_OR_6);
121122
}
122-
else if (Arrays.asList("2", "3", "4").contains(geocoderCertainty)) {
123+
else if ("2".equals(geocoderCertainty) || "3".equals(geocoderCertainty) || "4".equals(geocoderCertainty)) {
123124
output.setCountyAtDxAnalysis(input.getCountyAtDx());
124125
output.setCountyAtDxAnalysisFlag(REP_CERT_2_3_OR_4);
125126
}

src/main/java/com/imsweb/algorithms/derivedgrade/DerivedSummaryGradeUtils.java

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
*/
44
package com.imsweb.algorithms.derivedgrade;
55

6+
import java.util.Arrays;
7+
import java.util.HashSet;
8+
import java.util.Set;
9+
610
import org.apache.commons.lang3.ArrayUtils;
711

812
public final class DerivedSummaryGradeUtils {
@@ -15,12 +19,12 @@ public final class DerivedSummaryGradeUtils {
1519

1620
private static final String _BREAST_SCHEMA = "00480";
1721

18-
private static final String[] _SPECIAL_SCHEMAS = new String[] {"00790", "00795", "00811", "00812", "00821", "00822", "00830"};
22+
private static final Set<String> _SPECIAL_SCHEMAS = new HashSet<>(Arrays.asList("00790", "00795", "00811", "00812", "00821", "00822", "00830"));
1923

20-
private static final String[] _PRIO_BREAST_IN_SITU = new String[] {"H", "M", "L", "3", "2", "1", "D", "C", "B", "A", "9", null};
21-
private static final String[] _PRIO_BREAST_MALIGNANT = new String[] {"3", "2", "1", "H", "M", "L", "D", "C", "B", "A", "9", null};
22-
private static final String[] _PRIO_SPECIAL = new String[] {"8", null};
23-
private static final String[] _PRIO_OTHER = new String[] {"S", "5", "4", "3", "2", "1", "E", "D", "C", "B", "A", "H", "M", "L", "9", null};
24+
private static final String[] _PRIORITY_BREAST_IN_SITU = new String[] {"H", "M", "L", "3", "2", "1", "D", "C", "B", "A", "9", null};
25+
private static final String[] _PRIORITY_BREAST_MALIGNANT = new String[] {"3", "2", "1", "H", "M", "L", "D", "C", "B", "A", "9", null};
26+
private static final String[] _PRIORITY_SPECIAL = new String[] {"8", null};
27+
private static final String[] _PRIORITY_OTHER = new String[] {"S", "5", "4", "3", "2", "1", "E", "D", "C", "B", "A", "H", "M", "L", "9", null};
2428

2529
private DerivedSummaryGradeUtils() {
2630
// no instances of this class allowed!
@@ -30,14 +34,14 @@ public static String deriveSummaryGrade(String schemaId, String behavior, String
3034
String[] priorities = null;
3135
if (_BREAST_SCHEMA.equals(schemaId)) {
3236
if ("2".equals(behavior))
33-
priorities = _PRIO_BREAST_IN_SITU;
37+
priorities = _PRIORITY_BREAST_IN_SITU;
3438
else if ("3".equals(behavior))
35-
priorities = _PRIO_BREAST_MALIGNANT;
39+
priorities = _PRIORITY_BREAST_MALIGNANT;
3640
}
37-
else if (ArrayUtils.contains(_SPECIAL_SCHEMAS, schemaId))
38-
priorities = _PRIO_SPECIAL;
41+
else if (_SPECIAL_SCHEMAS.contains(schemaId))
42+
priorities = _PRIORITY_SPECIAL;
3943
else
40-
priorities = _PRIO_OTHER;
44+
priorities = _PRIORITY_OTHER;
4145

4246
if (priorities != null) {
4347

src/main/java/com/imsweb/algorithms/iarc/IarcUtils.java

Lines changed: 56 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,12 @@
66
import java.util.ArrayList;
77
import java.util.Arrays;
88
import java.util.Collections;
9+
import java.util.HashSet;
910
import java.util.List;
11+
import java.util.Set;
1012

1113
import org.apache.commons.lang3.math.NumberUtils;
14+
import org.apache.commons.lang3.tuple.Pair;
1215

1316
import com.imsweb.algorithms.internal.Utils;
1417

@@ -26,6 +29,37 @@ public final class IarcUtils {
2629
public static final Integer PRIMARY = 1;
2730
public static final Integer INSITU = 9;
2831

32+
private static final Set<String> _SITE_GROUP_C02 = new HashSet<>(Arrays.asList("C01", "C02"));
33+
private static final Set<String> _SITE_GROUP_C06 = new HashSet<>(Arrays.asList("C00", "C03", "C04", "C05", "C06"));
34+
private static final Set<String> _SITE_GROUP_C14 = new HashSet<>(Arrays.asList("C09", "C10", "C12", "C13", "C14"));
35+
private static final Set<String> _SITE_GROUP_C20 = new HashSet<>(Arrays.asList("C19", "C20"));
36+
private static final Set<String> _SITE_GROUP_C24 = new HashSet<>(Arrays.asList("C23", "C24"));
37+
private static final Set<String> _SITE_GROUP_C34 = new HashSet<>(Arrays.asList("C33", "C34"));
38+
private static final Set<String> _SITE_GROUP_C41 = new HashSet<>(Arrays.asList("C40", "C41"));
39+
private static final Set<String> _SITE_GROUP_C68 = new HashSet<>(Arrays.asList("C65", "C66", "C67", "C68"));
40+
41+
private static final List<Pair<List<Object>, Integer>> _HISTOLOGY_RANGES = new ArrayList<>();
42+
43+
static {
44+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("8051-8084,8120-8131"), 1));
45+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("8090-8110"), 2));
46+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("8140-8149,8160-8162,8190-8221,8260-8337,8350-8551,8570-8576,8940-8941"), 3));
47+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("8030-8046,8150-8157,8170-8180,8230-8255,8340-8347,8560-8562,8580-8671"), 4));
48+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("8010-8015,8020-8022,8050"), 5));
49+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("8680-8713,8800-8921,8990-8991,9040-9044,9120-9125,9130-9136,9141-9252,9370-9373,9540-9582"), 6));
50+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("9050-9055"), 7));
51+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("9840,9861-9931,9945-9946,9950,9961-9964,9980-9987,9991-9992"), 8));
52+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("9597,9670-9699,9712,9728,9731-9738,9761-9767,9769,9811-9818,9823-9826,9833,9836,9940"), 9));
53+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("9700-9726,9729,9768,9827-9831,9834,9837,9948"), 10));
54+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("9650-9667"), 11));
55+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("9740-9742"), 12));
56+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("9750-9759"), 13));
57+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("9590-9591,9596,9727,9760,9800-9809,9820,9832,9835,9860,9960,9965-9975,9989"), 14));
58+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("9140"), 15));
59+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("8720-8790,8930-8936,8950-8983,9000-9030,9060-9110,9260-9365,9380-9539"), 16));
60+
_HISTOLOGY_RANGES.add(Pair.of(Utils.expandHistologiesAsIntegers("8000-8005"), 17));
61+
}
62+
2963
private IarcUtils() {
3064
// utility class
3165
}
@@ -112,21 +146,21 @@ private static String calculateSiteGroup(String site) {
112146
String siteGroup = site != null && site.length() >= 3 ? site.toUpperCase().substring(0, 3) : null;
113147

114148
if (siteGroup != null) {
115-
if (Arrays.asList("C01", "C02").contains(siteGroup))
149+
if (_SITE_GROUP_C02.contains(siteGroup))
116150
siteGroup = "C02";
117-
else if (Arrays.asList("C00", "C03", "C04", "C05", "C06").contains(siteGroup))
151+
else if (_SITE_GROUP_C06.contains(siteGroup))
118152
siteGroup = "C06";
119-
else if (Arrays.asList("C09", "C10", "C12", "C13", "C14").contains(siteGroup))
153+
else if (_SITE_GROUP_C14.contains(siteGroup))
120154
siteGroup = "C14";
121-
else if (Arrays.asList("C19", "C20").contains(siteGroup))
155+
else if (_SITE_GROUP_C20.contains(siteGroup))
122156
siteGroup = "C20";
123-
else if (Arrays.asList("C23", "C24").contains(siteGroup))
157+
else if (_SITE_GROUP_C24.contains(siteGroup))
124158
siteGroup = "C24";
125-
else if (Arrays.asList("C33", "C34").contains(siteGroup))
159+
else if (_SITE_GROUP_C34.contains(siteGroup))
126160
siteGroup = "C34";
127-
else if (Arrays.asList("C40", "C41").contains(siteGroup))
161+
else if (_SITE_GROUP_C41.contains(siteGroup))
128162
siteGroup = "C41";
129-
else if (Arrays.asList("C65", "C66", "C67", "C68").contains(siteGroup))
163+
else if (_SITE_GROUP_C68.contains(siteGroup))
130164
siteGroup = "C68";
131165
}
132166

@@ -138,41 +172,12 @@ private static Integer calculateHistGroup(String histology) {
138172

139173
if (NumberUtils.isDigits(histology)) {
140174
int hist = NumberUtils.toInt(histology);
141-
142-
if (Utils.isHistologyContained("8051-8084,8120-8131", hist))
143-
histologyGroup = 1;
144-
else if (Utils.isHistologyContained("8090-8110", hist))
145-
histologyGroup = 2;
146-
else if (Utils.isHistologyContained("8140-8149,8160-8162,8190-8221,8260-8337,8350-8551,8570-8576,8940-8941", hist))
147-
histologyGroup = 3;
148-
else if (Utils.isHistologyContained("8030-8046,8150-8157,8170-8180,8230-8255,8340-8347,8560-8562,8580-8671", hist))
149-
histologyGroup = 4;
150-
else if (Utils.isHistologyContained("8010-8015,8020-8022,8050", hist))
151-
histologyGroup = 5;
152-
else if (Utils.isHistologyContained("8680-8713,8800-8921,8990-8991,9040-9044,9120-9125,9130-9136,9141-9252,9370-9373,9540-9582", hist))
153-
histologyGroup = 6;
154-
else if (Utils.isHistologyContained("9050-9055", hist))
155-
histologyGroup = 7;
156-
else if (Utils.isHistologyContained("9840,9861-9931,9945-9946,9950,9961-9964,9980-9987,9991-9992", hist))
157-
histologyGroup = 8;
158-
else if (Utils.isHistologyContained("9597,9670-9699,9712,9728,9731-9738,9761-9767,9769,9811-9818,9823-9826,9833,9836,9940", hist))
159-
histologyGroup = 9;
160-
else if (Utils.isHistologyContained("9700-9726,9729,9768,9827-9831,9834,9837,9948", hist))
161-
histologyGroup = 10;
162-
else if (Utils.isHistologyContained("9650-9667", hist))
163-
histologyGroup = 11;
164-
else if (Utils.isHistologyContained("9740-9742", hist))
165-
histologyGroup = 12;
166-
else if (Utils.isHistologyContained("9750-9759", hist))
167-
histologyGroup = 13;
168-
else if (Utils.isHistologyContained("9590-9591,9596,9727,9760,9800-9809,9820,9832,9835,9860,9960,9965-9975,9989", hist))
169-
histologyGroup = 14;
170-
else if (hist == 9140)
171-
histologyGroup = 15;
172-
else if (Utils.isHistologyContained("8720-8790,8930-8936,8950-8983,9000-9030,9060-9110,9260-9365,9380-9539", hist))
173-
histologyGroup = 16;
174-
else if (Utils.isHistologyContained("8000-8005", hist))
175-
histologyGroup = 17;
175+
for (Pair<List<Object>, Integer> pair : _HISTOLOGY_RANGES) {
176+
if (Utils.isContained(pair.getLeft(), hist)) {
177+
histologyGroup = pair.getRight();
178+
break;
179+
}
180+
}
176181
}
177182

178183
return histologyGroup;
@@ -204,18 +209,18 @@ private static boolean isNosVsSpecific(IarcMpInputRecordDto rec1, IarcMpInputRec
204209
//14 is NOS for 8-13
205210
//5 is NOS for 1-4
206211
return (rec1.getHistGroup() == 17 && ((rec2.getHistGroup() >= 1 && rec2.getHistGroup() <= 7) || rec2.getHistGroup() == 15 || rec2.getHistGroup() == 16)) ||
207-
(rec2.getHistGroup() == 17 && ((rec1.getHistGroup() >= 1 && rec1.getHistGroup() <= 7) || rec1.getHistGroup() == 15 || rec1.getHistGroup() == 16)) ||
208-
(rec1.getHistGroup() == 14 && rec2.getHistGroup() >= 8 && rec2.getHistGroup() <= 13) ||
209-
(rec2.getHistGroup() == 14 && rec1.getHistGroup() >= 8 && rec1.getHistGroup() <= 13) ||
210-
(rec1.getHistGroup() == 5 && rec2.getHistGroup() >= 1 && rec2.getHistGroup() <= 4) ||
211-
(rec2.getHistGroup() == 5 && rec1.getHistGroup() >= 1 && rec1.getHistGroup() <= 4);
212+
(rec2.getHistGroup() == 17 && ((rec1.getHistGroup() >= 1 && rec1.getHistGroup() <= 7) || rec1.getHistGroup() == 15 || rec1.getHistGroup() == 16)) ||
213+
(rec1.getHistGroup() == 14 && rec2.getHistGroup() >= 8 && rec2.getHistGroup() <= 13) ||
214+
(rec2.getHistGroup() == 14 && rec1.getHistGroup() >= 8 && rec1.getHistGroup() <= 13) ||
215+
(rec1.getHistGroup() == 5 && rec2.getHistGroup() >= 1 && rec2.getHistGroup() <= 4) ||
216+
(rec2.getHistGroup() == 5 && rec1.getHistGroup() >= 1 && rec1.getHistGroup() <= 4);
212217
}
213218

214219
private static boolean needToUpdateHistology(IarcMpInputRecordDto primaryRec, IarcMpInputRecordDto dupRecord) {
215220
return (primaryRec.getHistGroup() == 17 && ((dupRecord.getHistGroup() >= 1 && dupRecord.getHistGroup() <= 7) || dupRecord.getHistGroup() == 15 || dupRecord.getHistGroup() == 16)) ||
216-
(primaryRec.getHistGroup() == 14 && dupRecord.getHistGroup() >= 8 && dupRecord.getHistGroup() <= 13) ||
217-
(primaryRec.getHistGroup() == 5 && dupRecord.getHistGroup() >= 1 && dupRecord.getHistGroup() <= 4) ||
218-
(primaryRec.getHistGroup().equals(dupRecord.getHistGroup()) && NumberUtils.toInt(primaryRec.getHistology()) < NumberUtils.toInt(dupRecord.getHistology()));
221+
(primaryRec.getHistGroup() == 14 && dupRecord.getHistGroup() >= 8 && dupRecord.getHistGroup() <= 13) ||
222+
(primaryRec.getHistGroup() == 5 && dupRecord.getHistGroup() >= 1 && dupRecord.getHistGroup() <= 4) ||
223+
(primaryRec.getHistGroup().equals(dupRecord.getHistGroup()) && NumberUtils.toInt(primaryRec.getHistology()) < NumberUtils.toInt(dupRecord.getHistology()));
219224
}
220225

221226
private static class InternalRecDto implements Comparable<InternalRecDto> {

src/main/java/com/imsweb/algorithms/internal/Utils.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,10 +211,6 @@ public static boolean isContained(List<?> list, Integer value) {
211211
return false;
212212
}
213213

214-
public static boolean isHistologyContained(String list, Integer value) {
215-
return isContained(expandHistologiesAsIntegers(list), value);
216-
}
217-
218214
public static Map<String, Object> extractPatient(AlgorithmInput input) {
219215
return input.getPatient() == null ? Collections.emptyMap() : input.getPatient();
220216
}

src/main/java/com/imsweb/algorithms/napiia/NapiiaUtils.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55

66
import java.util.Arrays;
77
import java.util.HashMap;
8+
import java.util.HashSet;
89
import java.util.List;
910
import java.util.Map;
11+
import java.util.Set;
1012
import java.util.concurrent.locks.ReentrantReadWriteLock;
1113

1214
import org.apache.commons.lang3.StringUtils;
@@ -84,11 +86,11 @@ public final class NapiiaUtils {
8486
}
8587

8688
//Asian birth place countries excluded from indirect identification based on names
87-
private static final List<String> _BPC_EXCLUDE_ASIAN = Arrays.asList("MDV", "NPL", "BTN", "BGD", "LKA", "MMR", "XMS", "MYS", "SGP", "BND", "IDN", "TLS", "MNG");
89+
private static final Set<String> _BPC_EXCLUDE_ASIAN = new HashSet<>(Arrays.asList("MDV", "NPL", "BTN", "BGD", "LKA", "MMR", "XMS", "MYS", "SGP", "BND", "IDN", "TLS", "MNG"));
8890
//Hispanic birth place countries excluded from identification based on names
89-
private static final List<String> _BPC_EXCLUDE_HISP = Arrays.asList("PRI", "MEX", "CUB", "DOM", "ZZC", "GTM", "HND", "SLV", "NIC", "CRI", "PAN", "ZZS", "COL", "VEN", "ECU", "PER", "BOL", "CHL",
90-
"ARG", "PRY", "URY", "ESP", "AND");
91-
private static final List<String> _SPANISH_ORIGIN_IS_SPANISH = Arrays.asList("1", "2", "3", "4", "5", "6", "8");
91+
private static final Set<String> _BPC_EXCLUDE_HISP = new HashSet<>(Arrays.asList("PRI", "MEX", "CUB", "DOM", "ZZC", "GTM", "HND", "SLV", "NIC", "CRI", "PAN", "ZZS", "COL", "VEN", "ECU", "PER",
92+
"BOL", "CHL", "ARG", "PRY", "URY", "ESP", "AND"));
93+
private static final Set<String> _SPANISH_ORIGIN_IS_SPANISH = new HashSet<>(Arrays.asList("1", "2", "3", "4", "5", "6", "8"));
9294

9395
//lookups
9496
private static final Map<String, Short> _LKUP_NAPIIA_SURNAME_CENSUS_ASIAN = new HashMap<>();

0 commit comments

Comments
 (0)