private @Nullable PsiExpression getDetachedInitializer() {
    PsiFieldStub stub = getGreenStub();
    PsiExpression initializer;
    if (stub == null) {
      initializer = getInitializer();
    }
    else {
      String initializerText = stub.getInitializerText();
      if (StringUtil.isEmpty(initializerText)) {
        return null;
      }

      if (PsiFieldStub.INITIALIZER_NOT_STORED.equals(initializerText) ||
          PsiFieldStub.INITIALIZER_TOO_LONG.equals(initializerText)) {
        initializer = getInitializer();
      }
      else {
        PsiJavaParserFacade parserFacade = JavaPsiFacade.getInstance(getProject()).getParserFacade();
        initializer = parserFacade.createExpressionFromText(initializerText, this);
        ((LightVirtualFile)initializer.getContainingFile().getViewProvider().getVirtualFile()).setWritable(false);
      }
    }

    return initializer;
  }
private @Nullable PsiExpression getDetachedInitializer()