private static boolean isAcceptableProperty(@Nullable Method getter, @Nullable Method setter, @NotNull Configuration configuration) {
    if (getter == null || configuration.isAnnotatedAsTransient(getter)) {
      return false;
    }

    if (setter == null) {
      // check hasStoreAnnotations to ensure that this addition will not lead to regression
      // (since there is a chance that there are some existing not-annotated list getters without a setter)
      return (Collection.class.isAssignableFrom(getter.getReturnType()) || Map.class.isAssignableFrom(getter.getReturnType())) &&
             configuration.hasStoreAnnotations(getter);
    }

    if (configuration.isAnnotatedAsTransient(setter) || !getter.getReturnType().equals(setter.getParameterTypes()[0])) {
      return false;
    }

    return true;
  }
private static boolean isAcceptableProperty(@Nullable Method getter, @Nullable Method setter, @NotNull Configuration configuration)