PsiField () { if (getSelfModifierList() != null) return this; PsiFieldStub stub = getGreenStub(); if (stub != null) { List siblings = stub.getParentStub().getChildrenStubs(); int idx = siblings.indexOf(stub); assert idx >= 0; for (int i = idx - 1; i >= 0; i--) { if (!(siblings.get(i) instanceof PsiFieldStub)) break; PsiFieldStub prevField = (PsiFieldStub)siblings.get(i); PsiFieldImpl prevFieldPsi = (PsiFieldImpl)prevField.getPsi(); if (prevFieldPsi.getSelfModifierList() != null) return prevFieldPsi; } } return findFirstFieldByTree(); }