@Override
  protected boolean isValidForClass(PsiClass targetClass) {
    if (!super.isValidForClass(targetClass)) return false;
    if (!targetClass.isWritable()) return false;
    return JigsawUtil.checkProviderMethodAccessible(targetClass);
  }
@Override
  protected boolean isValidForClass(PsiClass targetClass)