private MethodScope doFindGetter() {
        String declaredName = this.getDeclaredName();
        Set<String> possibleGetterNames = new HashSet<>(5);
        // @since 4.32.0 - for a field like "xIndex" also consider "getxIndex()" as getter method (according to JavaBeans specification)
        if (declaredName.length() > 1 && Character.isUpperCase(declaredName.charAt(1))) {
            possibleGetterNames.add("get" + declaredName);
            possibleGetterNames.add("is" + declaredName);
        }
        // common naming convention: capitalise first character and leave the rest as-is
        String capitalisedFieldName = declaredName.substring(0, 1).toUpperCase() + declaredName.substring(1);
        possibleGetterNames.add("get" + capitalisedFieldName);
        possibleGetterNames.add("is" + capitalisedFieldName);
        // @since 4.32.0 - for a field like "isBool" also consider "isBool()" as potential getter method
        boolean fieldNameStartsWithIs = declaredName.startsWith("is") && declaredName.length() > 2 && Character.isUpperCase(declaredName.charAt(2));
        if (fieldNameStartsWithIs) {
            possibleGetterNames.add(declaredName);
        }
        ResolvedMethod[] methods = this.getDeclaringTypeMembers().getMemberMethods();
        return Stream.of(methods)
                .filter(method -> method.isPublic() && method.getRawMember().getParameterCount() == 0)
                .filter(method -> possibleGetterNames.contains(method.getName()))
                .findFirst()
                .map(method -> this.getContext().createMethodScope(method, this.getDeclarationDetails()))
                .orElse(null);
    }
Return the conventional getter method (if one exists). E.g. for a field named "foo", look-up either "getFoo()" or "isFoo()".

@return public getter from within the field's declaring class
jsonschema-generator/src/main/java/com/github/victools/jsonschema/generator/FieldScope.java