KeywordParser () { KeywordParser parser = dereference(myKeywordParser); if (parser == null) { synchronized (this) { parser = dereference(myKeywordParser); if (parser == null) { myKeywordParser = new SoftReference<>( parser = new KeywordParser(Arrays.asList(myKeywords1, myKeywords2, myKeywords3, myKeywords4), myIgnoreCase)); } } } return parser; }