class AbbreviationRepository extends NodeRepository<AbbreviationBlock> {

    public AbbreviationRepository(DataHolder options) {
        super(AbbreviationExtension.ABBREVIATIONS_KEEP.get(options));
    }

    @NotNull
    @Override
    public DataKey<AbbreviationRepository> getDataKey() {
        return AbbreviationExtension.ABBREVIATIONS;
    }

    @NotNull
    @Override
    public DataKey<KeepType> getKeepDataKey() {
        return AbbreviationExtension.ABBREVIATIONS_KEEP;
    }

    @NotNull
    @Override
    public Set<AbbreviationBlock> getReferencedElements(Node parent) {<FILL_FUNCTION_BODY>}
}

        HashSet<AbbreviationBlock> references = new HashSet<>();
        visitNodes(parent, value -> {
            if (value instanceof Abbreviation) {
                AbbreviationBlock reference = ((Abbreviation) value).getReferenceNode(AbbreviationRepository.this);
                if (reference != null) {
                    references.add(reference);
                }
            }
        }, Abbreviation.class);
        return references;
    
<methods>public void <init>(@Nullable KeepType) ,public void clear() ,public boolean containsKey(@NotNull Object) ,public boolean containsValue(java.lang.Object) ,public @NotNull Set<Map.Entry<String,AbbreviationBlock>> entrySet() ,public boolean equals(java.lang.Object) ,public @Nullable AbbreviationBlock get(@NotNull Object) ,public abstract @NotNull DataKey<? extends NodeRepository<AbbreviationBlock>> getDataKey() ,public @Nullable AbbreviationBlock getFromRaw(@NotNull CharSequence) ,public abstract @NotNull DataKey<KeepType> getKeepDataKey() ,public abstract @NotNull Set<AbbreviationBlock> getReferencedElements(com.vladsch.flexmark.util.ast.Node) ,public @NotNull Collection<AbbreviationBlock> getValues() ,public int hashCode() ,public boolean isEmpty() ,public @NotNull Set<String> keySet() ,public @NotNull String normalizeKey(@NotNull CharSequence) ,public @Nullable AbbreviationBlock put(@NotNull String, @NotNull AbbreviationBlock) ,public void putAll(@NotNull Map<? extends String,? extends AbbreviationBlock>) ,public @Nullable AbbreviationBlock putRawKey(@NotNull CharSequence, @NotNull AbbreviationBlock) ,public @Nullable AbbreviationBlock remove(@NotNull Object) ,public int size() ,public static boolean transferReferences(@NotNull NodeRepository<T>, @NotNull NodeRepository<T>, boolean, @Nullable Map<String,String>) ,public @NotNull List<AbbreviationBlock> values() <variables>protected final non-sealed com.vladsch.flexmark.util.ast.KeepType keepType,protected final ArrayList<com.vladsch.flexmark.ext.abbreviation.AbbreviationBlock> nodeList,protected final Map<java.lang.String,com.vladsch.flexmark.ext.abbreviation.AbbreviationBlock> nodeMap