@Contract(pure = true)
  @Nullable
  public static Pair<String, PropertyKind> getPropertyNameAndKind(@NotNull String accessorName) {
    PropertyKind kind = getPropertyKind(accessorName);
    if (kind == null) {
      return null;
    }
    String baseName = accessorName.substring(kind.prefix.length());
    String propertyName = Introspector.decapitalize(baseName);
    return Pair.create(propertyName, kind);
  }
@Contract(pure = true)
  @Nullable
  public static Pair<String, PropertyKind> getPropertyNameAndKind(@NotNull String accessorName)