@startuml
    set namespaceSeparator none
    hide empty fields
    hide empty methods

    class "<size:14>FinderSupport\n<size:10>it.tidalwave.util.spi" as it.tidalwave.util.spi.FinderSupport<TYPE, EXTENDED_FINDER extends Finder<TYPE>> [[FinderSupport.html]] {
        #FinderSupport(String)
        #FinderSupport()
        #FinderSupport(FinderSupport<TYPE, EXTENDED_FINDER extends Finder<TYPE>>, Object)
        #clonedWith(Object): EXTENDED_FINDER extends Finder<TYPE>
        #--clone--(Object): EXTENDED_FINDER extends Finder<TYPE>
        +from(int): EXTENDED_FINDER extends Finder<TYPE>
        +max(int): EXTENDED_FINDER extends Finder<TYPE>
        +withContext(Object): EXTENDED_FINDER extends Finder<TYPE>
        +ofType(Class<ANOTHER_TYPE>): Finder<ANOTHER_TYPE>
        +sort(SortCriterion, SortDirection): EXTENDED_FINDER extends Finder<TYPE>
        +sort(SortCriterion): EXTENDED_FINDER extends Finder<TYPE>
        +results(): List<? extends TYPE>
        +count(): int
        #computeResults(): List<? extends TYPE>
        #computeNeededResults(): List<? extends TYPE>
        {static} #getSource(Class<T>, T, Object): T
    }

    interface "<size:14>Finder\n<size:10>it.tidalwave.util" as it.tidalwave.util.Finder<TYPE> [[../Finder.html]] {
        {abstract} +from(int): Finder<TYPE>
        {abstract} +max(int): Finder<TYPE>
        {abstract} +sort(SortCriterion, SortDirection): Finder<TYPE>
        {abstract} +results(): List<? extends TYPE>
        {abstract} +count(): int
    }

    it.tidalwave.util.Finder <|.. it.tidalwave.util.spi.FinderSupport

    center footer UMLDoclet 2.0.12, PlantUML 1.2020.16
@enduml
