@Override
  public boolean appliesTo(final RadComponent component) {
    @NonNls String name = getName();
    if (name.equals(SwingProperties.PREFERRED_SIZE) ||
        name.equals(SwingProperties.MINIMUM_SIZE) ||
        name.equals(SwingProperties.MAXIMUM_SIZE)) {
      // our own properties must be used instead
      final RadContainer parent = component.getParent();
      return parent != null && !(parent.getLayoutManager() instanceof RadGridLayoutManager);
    }

    // check if property is available in the JDK used by the module containing the component
    final PsiManager psiManager = PsiManager.getInstance(component.getProject());
    final GlobalSearchScope scope = component.getModule().getModuleWithDependenciesAndLibrariesScope(true);
    PsiClass componentClass = JavaPsiFacade.getInstance(psiManager.getProject()).findClass(component.getComponentClassName(), scope);
    if (componentClass == null) return true;
    try (AccessToken ignore = SlowOperations.knownIssue("IDEA-307701, EA-641435")) {
      final PsiMethod[] psiMethods = componentClass.findMethodsByName(myReadMethod.getName(), true);
      for (PsiMethod method : psiMethods) {
        if (!method.hasModifierProperty(PsiModifier.STATIC) &&
            method.getParameterList().isEmpty()) {
          return true;
        }
      }
    }
    return false;
  }
@Override
  public boolean appliesTo(final RadComponent component)