public static @Nullable ASTNode findCommonParent(ASTNode one, ASTNode two) {
    // optimization
    if (one == two) return one;
    Set<ASTNode> parents = new HashSet<>(20);
    while (one != null) {
      parents.add(one);
      one = one.getTreeParent();
    }
    while (two != null) {
      if (parents.contains(two)) return two;
      two = two.getTreeParent();
    }
    return null;
  }
public static @Nullable ASTNode findCommonParent(ASTNode one, ASTNode two)