public List<VariantField> getChildren() { if (children.get() == null) { ArrayList<VariantField> childrenList = new ArrayList<>(); for (VariantField variantField : VariantField.values()) { if (variantField.getParent() == this) { childrenList.add(variantField); } } childrenList.trimToSize(); children.compareAndSet(null, Collections.unmodifiableList(childrenList)); } return children.get(); }
if (allIncludeFields != null) { for (VariantField annotationField : VariantField.values()) { if (annotationField.getParent() == VariantField.ANNOTATION && !allIncludeFields.contains(annotationField)) { list.add(annotationField.fieldName().replace(VariantField.ANNOTATION.fieldName() + '.', ""));