@startuml
    set namespaceSeparator none
    hide empty fields
    hide empty methods

    class "<size:14>PersonFinderImpl2a\n<size:10>it.tidalwave.thesefoolishthings.examples.extendedfinderexample" as it.tidalwave.thesefoolishthings.examples.extendedfinderexample.PersonFinderImpl2a [[PersonFinderImpl2a.html]] {
        +PersonFinderImpl2a(List<Person>)
        +PersonFinderImpl2a(PersonFinderImpl2a, Object)
        +withFirstName(String): PersonFinder
        +withLastName(String): PersonFinder
        #computeResults(): List<Person>
    }

    class "<size:14>HierarchicFinderSupport\n<size:10>it.tidalwave.util.spi" as it.tidalwave.util.spi.HierarchicFinderSupport<Person, PersonFinder> [[../../../util/spi/HierarchicFinderSupport.html]]
    interface "<size:14>PersonFinder\n<size:10>it.tidalwave.thesefoolishthings.examples.extendedfinderexample" as it.tidalwave.thesefoolishthings.examples.extendedfinderexample.PersonFinder [[PersonFinder.html]] {
        {abstract} +withFirstName(String): PersonFinder
        {abstract} +withLastName(String): PersonFinder
    }

    it.tidalwave.util.spi.HierarchicFinderSupport <|-- it.tidalwave.thesefoolishthings.examples.extendedfinderexample.PersonFinderImpl2a
    it.tidalwave.thesefoolishthings.examples.extendedfinderexample.PersonFinder <|.. it.tidalwave.thesefoolishthings.examples.extendedfinderexample.PersonFinderImpl2a

    center footer UMLDoclet 2.0.12, PlantUML 1.2020.16
@enduml
