if (parentObject != null) {
for (QualifiedIdentifierVariant parseVariant : qualifiedIdentifier.getParseVariants()){
boolean match = parseVariant.matchesPsiElement(qualifiedIdentifier);
if (match) {
int index = qualifiedIdentifier.getIndexOf(identifierPsiElement);
LeafElementType leafElementType = parseVariant.getLeaf(index + 1);
if (leafElementType != null) {
nextPossibleLeafs.put(getLeafUniqueKey(leafElementType), leafElementType);
}
}
}
}
}
}
}
if (nextPossibleLeafs.size() == 0) {
LeafElementType elementType = (LeafElementType) element.getElementType();
PathNode pathNode = new ASTPathNode(element.getNode());
for (LeafElementType leafElementType : elementType.getNextPossibleLeafs(pathNode, filterSettings)) {
String leafUniqueKey = getLeafUniqueKey(leafElementType);
if (leafUniqueKey != null) {
nextPossibleLeafs.put(leafUniqueKey, leafElementType);
}
}