@Override
  public PsiType getReturnType() {
    if (isConstructor()) return null;

    PsiMethodStub stub = getStub();
    if (stub != null) {
      PsiType type = myCachedType;
      if (type == null) {
        type = JavaSharedImplUtil.createTypeFromStub(this, stub.getReturnTypeText());
        myCachedType = type;
      }
      return type;
    }

    myCachedType = null;
    PsiTypeElement typeElement = getReturnTypeElement();
    return typeElement != null ? JavaSharedImplUtil.getType(typeElement, getParameterList()) : null;
  }
@Override
  public PsiType getReturnType()