# Hierarchy For All Packages

Package Hierarchies:

- org.optaplanner.benchmark.api,
- org.optaplanner.benchmark.config,
- org.optaplanner.benchmark.config.blueprint,
- org.optaplanner.benchmark.config.ranking,
- org.optaplanner.benchmark.config.report,
- org.optaplanner.benchmark.config.statistic,
- org.optaplanner.benchmark.impl,
- org.optaplanner.benchmark.impl.aggregator,
- org.optaplanner.benchmark.impl.aggregator.swingui,
- org.optaplanner.benchmark.impl.cli,
- org.optaplanner.benchmark.impl.loader,
- org.optaplanner.benchmark.impl.measurement,
- org.optaplanner.benchmark.impl.ranking,
- org.optaplanner.benchmark.impl.report,
- org.optaplanner.benchmark.impl.result,
- org.optaplanner.benchmark.impl.statistic,
- org.optaplanner.benchmark.impl.statistic.bestscore,
- org.optaplanner.benchmark.impl.statistic.bestsolutionmutation,
- org.optaplanner.benchmark.impl.statistic.common,
- org.optaplanner.benchmark.impl.statistic.memoryuse,
- org.optaplanner.benchmark.impl.statistic.movecountperstep,
- org.optaplanner.benchmark.impl.statistic.scorecalculationspeed,
- org.optaplanner.benchmark.impl.statistic.stepscore,
- org.optaplanner.benchmark.impl.statistic.subsingle.constraintmatchtotalbestscore,
- org.optaplanner.benchmark.impl.statistic.subsingle.constraintmatchtotalstepscore,
- org.optaplanner.benchmark.impl.statistic.subsingle.pickedmovetypebestscore,
- org.optaplanner.benchmark.impl.statistic.subsingle.pickedmovetypestepscore,
- org.optaplanner.core.api,
- org.optaplanner.core.api.domain,
- org.optaplanner.core.api.domain.autodiscover,
- org.optaplanner.core.api.domain.constraintweight,
- org.optaplanner.core.api.domain.entity,
- org.optaplanner.core.api.domain.lookup,
- org.optaplanner.core.api.domain.solution,
- org.optaplanner.core.api.domain.solution.cloner,
- org.optaplanner.core.api.domain.solution.drools,
- org.optaplanner.core.api.domain.valuerange,
- org.optaplanner.core.api.domain.variable,
- org.optaplanner.core.api.function,
- org.optaplanner.core.api.score,
- org.optaplanner.core.api.score.buildin,
- org.optaplanner.core.api.score.buildin.bendable,
- org.optaplanner.core.api.score.buildin.bendablebigdecimal,
- org.optaplanner.core.api.score.buildin.bendablelong,
- org.optaplanner.core.api.score.buildin.hardmediumsoft,
- org.optaplanner.core.api.score.buildin.hardmediumsoftbigdecimal,
- org.optaplanner.core.api.score.buildin.hardmediumsoftlong,
- org.optaplanner.core.api.score.buildin.hardsoft,
- org.optaplanner.core.api.score.buildin.hardsoftbigdecimal,
- org.optaplanner.core.api.score.buildin.hardsoftdouble,
- org.optaplanner.core.api.score.buildin.hardsoftlong,
- org.optaplanner.core.api.score.buildin.simple,
- org.optaplanner.core.api.score.buildin.simplebigdecimal,
- org.optaplanner.core.api.score.buildin.simpledouble,
- org.optaplanner.core.api.score.buildin.simplelong,
- org.optaplanner.core.api.score.calculator,
- org.optaplanner.core.api.score.comparator,
- org.optaplanner.core.api.score.constraint,
- org.optaplanner.core.api.score.holder,
- org.optaplanner.core.api.score.stream,
- org.optaplanner.core.api.score.stream.bi,
- org.optaplanner.core.api.score.stream.penta,
- org.optaplanner.core.api.score.stream.quad,
- org.optaplanner.core.api.score.stream.tri,
- org.optaplanner.core.api.score.stream.uni,
- org.optaplanner.core.api.solver,
- org.optaplanner.core.api.solver.event,
- org.optaplanner.core.config,
- org.optaplanner.core.config.constructionheuristic,
- org.optaplanner.core.config.constructionheuristic.decider.forager,
- org.optaplanner.core.config.constructionheuristic.placer,
- org.optaplanner.core.config.domain,
- org.optaplanner.core.config.exhaustivesearch,
- org.optaplanner.core.config.heuristic.policy,
- org.optaplanner.core.config.heuristic.selector,
- org.optaplanner.core.config.heuristic.selector.common,
- org.optaplanner.core.config.heuristic.selector.common.decorator,
- org.optaplanner.core.config.heuristic.selector.common.nearby,
- org.optaplanner.core.config.heuristic.selector.entity,
- org.optaplanner.core.config.heuristic.selector.entity.pillar,
- org.optaplanner.core.config.heuristic.selector.move,
- org.optaplanner.core.config.heuristic.selector.move.composite,
- org.optaplanner.core.config.heuristic.selector.move.factory,
- org.optaplanner.core.config.heuristic.selector.move.generic,
- org.optaplanner.core.config.heuristic.selector.move.generic.chained,
- org.optaplanner.core.config.heuristic.selector.value,
- org.optaplanner.core.config.heuristic.selector.value.chained,
- org.optaplanner.core.config.localsearch,
- org.optaplanner.core.config.localsearch.decider.acceptor,
- org.optaplanner.core.config.localsearch.decider.acceptor.stepcountinghillclimbing,
- org.optaplanner.core.config.localsearch.decider.forager,
- org.optaplanner.core.config.partitionedsearch,
- org.optaplanner.core.config.phase,
- org.optaplanner.core.config.phase.custom,
- org.optaplanner.core.config.score.definition,
- org.optaplanner.core.config.score.director,
- org.optaplanner.core.config.score.trend,
- org.optaplanner.core.config.solver,
- org.optaplanner.core.config.solver.random,
- org.optaplanner.core.config.solver.recaller,
- org.optaplanner.core.config.solver.termination,
- org.optaplanner.core.config.util,
- org.optaplanner.core.impl,
- org.optaplanner.core.impl.constructionheuristic,
- org.optaplanner.core.impl.constructionheuristic.decider,
- org.optaplanner.core.impl.constructionheuristic.decider.forager,
- org.optaplanner.core.impl.constructionheuristic.event,
- org.optaplanner.core.impl.constructionheuristic.placer,
- org.optaplanner.core.impl.constructionheuristic.scope,
- org.optaplanner.core.impl.domain.common,
- org.optaplanner.core.impl.domain.common.accessor,
- org.optaplanner.core.impl.domain.constraintweight.descriptor,
- org.optaplanner.core.impl.domain.entity.descriptor,
- org.optaplanner.core.impl.domain.lookup,
- org.optaplanner.core.impl.domain.policy,
- org.optaplanner.core.impl.domain.solution,
- org.optaplanner.core.impl.domain.solution.cloner,
- org.optaplanner.core.impl.domain.solution.descriptor,
- org.optaplanner.core.impl.domain.solution.mutation,
- org.optaplanner.core.impl.domain.valuerange,
- org.optaplanner.core.impl.domain.valuerange.buildin.bigdecimal,
- org.optaplanner.core.impl.domain.valuerange.buildin.biginteger,
- org.optaplanner.core.impl.domain.valuerange.buildin.collection,
- org.optaplanner.core.impl.domain.valuerange.buildin.composite,
- org.optaplanner.core.impl.domain.valuerange.buildin.primboolean,
- org.optaplanner.core.impl.domain.valuerange.buildin.primdouble,
- org.optaplanner.core.impl.domain.valuerange.buildin.primint,
- org.optaplanner.core.impl.domain.valuerange.buildin.primlong,
- org.optaplanner.core.impl.domain.valuerange.buildin.temporal,
- org.optaplanner.core.impl.domain.valuerange.descriptor,
- org.optaplanner.core.impl.domain.valuerange.util,
- org.optaplanner.core.impl.domain.variable.anchor,
- org.optaplanner.core.impl.domain.variable.custom,
- org.optaplanner.core.impl.domain.variable.descriptor,
- org.optaplanner.core.impl.domain.variable.inverserelation,
- org.optaplanner.core.impl.domain.variable.listener,
- org.optaplanner.core.impl.domain.variable.listener.support,
- org.optaplanner.core.impl.domain.variable.supply,
- org.optaplanner.core.impl.exhaustivesearch,
- org.optaplanner.core.impl.exhaustivesearch.decider,
- org.optaplanner.core.impl.exhaustivesearch.event,
- org.optaplanner.core.impl.exhaustivesearch.node,
- org.optaplanner.core.impl.exhaustivesearch.node.bounder,
- org.optaplanner.core.impl.exhaustivesearch.node.comparator,
- org.optaplanner.core.impl.exhaustivesearch.scope,
- org.optaplanner.core.impl.heuristic.move,
- org.optaplanner.core.impl.heuristic.selector,
- org.optaplanner.core.impl.heuristic.selector.common,
- org.optaplanner.core.impl.heuristic.selector.common.decorator,
- org.optaplanner.core.impl.heuristic.selector.common.iterator,
- org.optaplanner.core.impl.heuristic.selector.common.nearby,
- org.optaplanner.core.impl.heuristic.selector.entity,
- org.optaplanner.core.impl.heuristic.selector.entity.decorator,
- org.optaplanner.core.impl.heuristic.selector.entity.mimic,
- org.optaplanner.core.impl.heuristic.selector.entity.nearby,
- org.optaplanner.core.impl.heuristic.selector.entity.pillar,
- org.optaplanner.core.impl.heuristic.selector.move,
- org.optaplanner.core.impl.heuristic.selector.move.composite,
- org.optaplanner.core.impl.heuristic.selector.move.decorator,
- org.optaplanner.core.impl.heuristic.selector.move.factory,
- org.optaplanner.core.impl.heuristic.selector.move.generic,
- org.optaplanner.core.impl.heuristic.selector.move.generic.chained,
- org.optaplanner.core.impl.heuristic.selector.value,
- org.optaplanner.core.impl.heuristic.selector.value.chained,
- org.optaplanner.core.impl.heuristic.selector.value.decorator,
- org.optaplanner.core.impl.heuristic.selector.value.mimic,
- org.optaplanner.core.impl.heuristic.selector.value.nearby,
- org.optaplanner.core.impl.heuristic.solution,
- org.optaplanner.core.impl.heuristic.thread,
- org.optaplanner.core.impl.localsearch,
- org.optaplanner.core.impl.localsearch.decider,
- org.optaplanner.core.impl.localsearch.decider.acceptor,
- org.optaplanner.core.impl.localsearch.decider.acceptor.greatdeluge,
- org.optaplanner.core.impl.localsearch.decider.acceptor.hillclimbing,
- org.optaplanner.core.impl.localsearch.decider.acceptor.lateacceptance,
- org.optaplanner.core.impl.localsearch.decider.acceptor.simulatedannealing,
- org.optaplanner.core.impl.localsearch.decider.acceptor.stepcountinghillclimbing,
- org.optaplanner.core.impl.localsearch.decider.acceptor.tabu,
- org.optaplanner.core.impl.localsearch.decider.acceptor.tabu.size,
- org.optaplanner.core.impl.localsearch.decider.forager,
- org.optaplanner.core.impl.localsearch.decider.forager.finalist,
- org.optaplanner.core.impl.localsearch.event,
- org.optaplanner.core.impl.localsearch.scope,
- org.optaplanner.core.impl.partitionedsearch,
- org.optaplanner.core.impl.partitionedsearch.event,
- org.optaplanner.core.impl.partitionedsearch.partitioner,
- org.optaplanner.core.impl.partitionedsearch.queue,
- org.optaplanner.core.impl.partitionedsearch.scope,
- org.optaplanner.core.impl.phase,
- org.optaplanner.core.impl.phase.custom,
- org.optaplanner.core.impl.phase.custom.scope,
- org.optaplanner.core.impl.phase.event,
- org.optaplanner.core.impl.phase.scope,
- org.optaplanner.core.impl.score,
- org.optaplanner.core.impl.score.buildin.bendable,
- org.optaplanner.core.impl.score.buildin.bendablebigdecimal,
- org.optaplanner.core.impl.score.buildin.bendablelong,
- org.optaplanner.core.impl.score.buildin.hardmediumsoft,
- org.optaplanner.core.impl.score.buildin.hardmediumsoftbigdecimal,
- org.optaplanner.core.impl.score.buildin.hardmediumsoftlong,
- org.optaplanner.core.impl.score.buildin.hardsoft,
- org.optaplanner.core.impl.score.buildin.hardsoftbigdecimal,
- org.optaplanner.core.impl.score.buildin.hardsoftdouble,
- org.optaplanner.core.impl.score.buildin.hardsoftlong,
- org.optaplanner.core.impl.score.buildin.simple,
- org.optaplanner.core.impl.score.buildin.simplebigdecimal,
- org.optaplanner.core.impl.score.buildin.simpledouble,
- org.optaplanner.core.impl.score.buildin.simplelong,
- org.optaplanner.core.impl.score.comparator,
- org.optaplanner.core.impl.score.definition,
- org.optaplanner.core.impl.score.director,
- org.optaplanner.core.impl.score.director.drools,
- org.optaplanner.core.impl.score.director.drools.testgen,
- org.optaplanner.core.impl.score.director.drools.testgen.fact,
- org.optaplanner.core.impl.score.director.drools.testgen.mutation,
- org.optaplanner.core.impl.score.director.drools.testgen.operation,
- org.optaplanner.core.impl.score.director.drools.testgen.reproducer,
- org.optaplanner.core.impl.score.director.easy,
- org.optaplanner.core.impl.score.director.incremental,
- org.optaplanner.core.impl.score.director.stream,
- org.optaplanner.core.impl.score.inliner,
- org.optaplanner.core.impl.score.stream,
- org.optaplanner.core.impl.score.stream.bavet,
- org.optaplanner.core.impl.score.stream.bavet.bi,
- org.optaplanner.core.impl.score.stream.bavet.common,
- org.optaplanner.core.impl.score.stream.bavet.common.index,
- org.optaplanner.core.impl.score.stream.bavet.tri,
- org.optaplanner.core.impl.score.stream.bavet.uni,
- org.optaplanner.core.impl.score.stream.bi,
- org.optaplanner.core.impl.score.stream.common,
- org.optaplanner.core.impl.score.stream.drools,
- org.optaplanner.core.impl.score.stream.drools.bi,
- org.optaplanner.core.impl.score.stream.drools.common,
- org.optaplanner.core.impl.score.stream.drools.quad,
- org.optaplanner.core.impl.score.stream.drools.tri,
- org.optaplanner.core.impl.score.stream.drools.uni,
- org.optaplanner.core.impl.score.stream.penta,
- org.optaplanner.core.impl.score.stream.quad,
- org.optaplanner.core.impl.score.stream.tri,
- org.optaplanner.core.impl.score.stream.uni,
- org.optaplanner.core.impl.score.trend,
- org.optaplanner.core.impl.solver,
- org.optaplanner.core.impl.solver.event,
- org.optaplanner.core.impl.solver.io,
- org.optaplanner.core.impl.solver.kie,
- org.optaplanner.core.impl.solver.random,
- org.optaplanner.core.impl.solver.recaller,
- org.optaplanner.core.impl.solver.scope,
- org.optaplanner.core.impl.solver.termination,
- org.optaplanner.core.impl.solver.thread,
- org.optaplanner.core.impl.util,
- org.optaplanner.persistence.common.api.domain.solution,
- org.optaplanner.persistence.jackson.api,
- org.optaplanner.persistence.jackson.api.score,
- org.optaplanner.persistence.jackson.api.score.buildin.bendable,
- org.optaplanner.persistence.jackson.api.score.buildin.bendablebigdecimal,
- org.optaplanner.persistence.jackson.api.score.buildin.bendablelong,
- org.optaplanner.persistence.jackson.api.score.buildin.hardmediumsoft,
- org.optaplanner.persistence.jackson.api.score.buildin.hardmediumsoftbigdecimal,
- org.optaplanner.persistence.jackson.api.score.buildin.hardmediumsoftlong,
- org.optaplanner.persistence.jackson.api.score.buildin.hardsoft,
- org.optaplanner.persistence.jackson.api.score.buildin.hardsoftbigdecimal,
- org.optaplanner.persistence.jackson.api.score.buildin.hardsoftdouble,
- org.optaplanner.persistence.jackson.api.score.buildin.hardsoftlong,
- org.optaplanner.persistence.jackson.api.score.buildin.simple,
- org.optaplanner.persistence.jackson.api.score.buildin.simplebigdecimal,
- org.optaplanner.persistence.jackson.api.score.buildin.simpledouble,
- org.optaplanner.persistence.jackson.api.score.buildin.simplelong,
- org.optaplanner.persistence.jaxb.api.score,
- org.optaplanner.persistence.jaxb.api.score.buildin.bendable,
- org.optaplanner.persistence.jaxb.api.score.buildin.bendablebigdecimal,
- org.optaplanner.persistence.jaxb.api.score.buildin.bendablelong,
- org.optaplanner.persistence.jaxb.api.score.buildin.hardmediumsoft,
- org.optaplanner.persistence.jaxb.api.score.buildin.hardmediumsoftbigdecimal,
- org.optaplanner.persistence.jaxb.api.score.buildin.hardmediumsoftlong,
- org.optaplanner.persistence.jaxb.api.score.buildin.hardsoft,
- org.optaplanner.persistence.jaxb.api.score.buildin.hardsoftbigdecimal,
- org.optaplanner.persistence.jaxb.api.score.buildin.hardsoftdouble,
- org.optaplanner.persistence.jaxb.api.score.buildin.hardsoftlong,
- org.optaplanner.persistence.jaxb.api.score.buildin.simple,
- org.optaplanner.persistence.jaxb.api.score.buildin.simplebigdecimal,
- org.optaplanner.persistence.jaxb.api.score.buildin.simpledouble,
- org.optaplanner.persistence.jaxb.api.score.buildin.simplelong,
- org.optaplanner.persistence.jaxb.impl.domain.solution,
- org.optaplanner.persistence.jpa.api.score.buildin.bendable,
- org.optaplanner.persistence.jpa.api.score.buildin.bendablebigdecimal,
- org.optaplanner.persistence.jpa.api.score.buildin.bendablelong,
- org.optaplanner.persistence.jpa.api.score.buildin.hardmediumsoft,
- org.optaplanner.persistence.jpa.api.score.buildin.hardmediumsoftbigdecimal,
- org.optaplanner.persistence.jpa.api.score.buildin.hardmediumsoftlong,
- org.optaplanner.persistence.jpa.api.score.buildin.hardsoft,
- org.optaplanner.persistence.jpa.api.score.buildin.hardsoftbigdecimal,
- org.optaplanner.persistence.jpa.api.score.buildin.hardsoftlong,
- org.optaplanner.persistence.jpa.api.score.buildin.simple,
- org.optaplanner.persistence.jpa.api.score.buildin.simplebigdecimal,
- org.optaplanner.persistence.jpa.api.score.buildin.simplelong,
- org.optaplanner.persistence.jpa.impl.score,
- org.optaplanner.persistence.jpa.impl.score.buildin.bendable,
- org.optaplanner.persistence.jpa.impl.score.buildin.bendablebigdecimal,
- org.optaplanner.persistence.jpa.impl.score.buildin.bendablelong,
- org.optaplanner.persistence.jpa.impl.score.buildin.hardmediumsoft,
- org.optaplanner.persistence.jpa.impl.score.buildin.hardmediumsoftbigdecimal,
- org.optaplanner.persistence.jpa.impl.score.buildin.hardmediumsoftlong,
- org.optaplanner.persistence.jpa.impl.score.buildin.hardsoft,
- org.optaplanner.persistence.jpa.impl.score.buildin.hardsoftbigdecimal,
- org.optaplanner.persistence.jpa.impl.score.buildin.hardsoftdouble,
- org.optaplanner.persistence.jpa.impl.score.buildin.hardsoftlong,
- org.optaplanner.persistence.jpa.impl.score.buildin.simple,
- org.optaplanner.persistence.jpa.impl.score.buildin.simplebigdecimal,
- org.optaplanner.persistence.jpa.impl.score.buildin.simpledouble,
- org.optaplanner.persistence.jpa.impl.score.buildin.simplelong,
- org.optaplanner.persistence.jsonb.api,
- org.optaplanner.persistence.jsonb.api.score,
- org.optaplanner.persistence.jsonb.api.score.buildin.bendable,
- org.optaplanner.persistence.jsonb.api.score.buildin.bendablebigdecimal,
- org.optaplanner.persistence.jsonb.api.score.buildin.bendablelong,
- org.optaplanner.persistence.jsonb.api.score.buildin.hardmediumsoft,
- org.optaplanner.persistence.jsonb.api.score.buildin.hardmediumsoftbigdecimal,
- org.optaplanner.persistence.jsonb.api.score.buildin.hardmediumsoftlong,
- org.optaplanner.persistence.jsonb.api.score.buildin.hardsoft,
- org.optaplanner.persistence.jsonb.api.score.buildin.hardsoftbigdecimal,
- org.optaplanner.persistence.jsonb.api.score.buildin.hardsoftdouble,
- org.optaplanner.persistence.jsonb.api.score.buildin.hardsoftlong,
- org.optaplanner.persistence.jsonb.api.score.buildin.simple,
- org.optaplanner.persistence.jsonb.api.score.buildin.simplebigdecimal,
- org.optaplanner.persistence.jsonb.api.score.buildin.simpledouble,
- org.optaplanner.persistence.jsonb.api.score.buildin.simplelong,
- org.optaplanner.persistence.xstream.api.score,
- org.optaplanner.persistence.xstream.api.score.buildin.bendable,
- org.optaplanner.persistence.xstream.api.score.buildin.bendablebigdecimal,
- org.optaplanner.persistence.xstream.api.score.buildin.bendablelong,
- org.optaplanner.persistence.xstream.api.score.buildin.hardmediumsoft,
- org.optaplanner.persistence.xstream.api.score.buildin.hardmediumsoftbigdecimal,
- org.optaplanner.persistence.xstream.api.score.buildin.hardmediumsoftlong,
- org.optaplanner.persistence.xstream.api.score.buildin.hardsoft,
- org.optaplanner.persistence.xstream.api.score.buildin.hardsoftbigdecimal,
- org.optaplanner.persistence.xstream.api.score.buildin.hardsoftdouble,
- org.optaplanner.persistence.xstream.api.score.buildin.hardsoftlong,
- org.optaplanner.persistence.xstream.api.score.buildin.simple,
- org.optaplanner.persistence.xstream.api.score.buildin.simplebigdecimal,
- org.optaplanner.persistence.xstream.api.score.buildin.simpledouble,
- org.optaplanner.persistence.xstream.api.score.buildin.simplelong,
- org.optaplanner.persistence.xstream.impl.domain.solution,
- org.optaplanner.swing.impl,
- org.optaplanner.test.api.score.stream,
- org.optaplanner.test.impl.score,
- org.optaplanner.test.impl.score.buildin.bendable,
- org.optaplanner.test.impl.score.buildin.bendablebigdecimal,
- org.optaplanner.test.impl.score.buildin.bendablelong,
- org.optaplanner.test.impl.score.buildin.hardmediumsoft,
- org.optaplanner.test.impl.score.buildin.hardmediumsoftlong,
- org.optaplanner.test.impl.score.buildin.hardsoft,
- org.optaplanner.test.impl.score.buildin.hardsoftbigdecimal,
- org.optaplanner.test.impl.score.buildin.hardsoftlong,
- org.optaplanner.test.impl.score.buildin.simple,
- org.optaplanner.test.impl.score.buildin.simplebigdecimal,
- org.optaplanner.test.impl.score.buildin.simplelong,
- org.optaplanner.test.impl.score.stream

## Class Hierarchy

- java.lang.Object
  - org.optaplanner.core.config.AbstractConfig<C>
    - org.optaplanner.core.config.localsearch.decider.acceptor.AcceptorConfig
    - org.optaplanner.benchmark.config.report.BenchmarkReportConfig
    - org.optaplanner.core.config.solver.recaller.BestSolutionRecallerConfig
    - org.optaplanner.core.config.constructionheuristic.decider.forager.ConstructionHeuristicForagerConfig
    - org.optaplanner.core.config.constructionheuristic.placer.EntityPlacerConfig<C>
      - org.optaplanner.core.config.constructionheuristic.placer.PooledEntityPlacerConfig
      - org.optaplanner.core.config.constructionheuristic.placer.QueuedEntityPlacerConfig
      - org.optaplanner.core.config.constructionheuristic.placer.QueuedValuePlacerConfig
    - org.optaplanner.core.config.localsearch.decider.forager.LocalSearchForagerConfig
    - org.optaplanner.core.config.phase.PhaseConfig<C>
      - org.optaplanner.core.config.constructionheuristic.ConstructionHeuristicPhaseConfig
      - org.optaplanner.core.config.phase.custom.CustomPhaseConfig
      - org.optaplanner.core.config.exhaustivesearch.ExhaustiveSearchPhaseConfig
      - org.optaplanner.core.config.localsearch.LocalSearchPhaseConfig
      - org.optaplanner.core.config.phase.NoChangePhaseConfig
      - org.optaplanner.core.config.partitionedsearch.PartitionedSearchPhaseConfig
    - org.optaplanner.benchmark.config.ProblemBenchmarksConfig
    - org.optaplanner.core.config.domain.ScanAnnotatedClassesConfig
    - org.optaplanner.core.config.score.director.ScoreDirectorFactoryConfig
    - org.optaplanner.core.config.heuristic.selector.SelectorConfig<C>
      - org.optaplanner.core.config.heuristic.selector.entity.EntitySelectorConfig
      - org.optaplanner.core.config.heuristic.selector.move.MoveSelectorConfig<C>
        - org.optaplanner.core.config.heuristic.selector.move.generic.AbstractPillarMoveSelectorConfig<C>
          - org.optaplanner.core.config.heuristic.selector.move.generic.PillarChangeMoveSelectorConfig
          - org.optaplanner.core.config.heuristic.selector.move.generic.PillarSwapMoveSelectorConfig
        - org.optaplanner.core.config.heuristic.selector.move.composite.CartesianProductMoveSelectorConfig
        - org.optaplanner.core.config.heuristic.selector.move.generic.ChangeMoveSelectorConfig
        - org.optaplanner.core.config.heuristic.selector.move.generic.chained.KOptMoveSelectorConfig
        - org.optaplanner.core.config.heuristic.selector.move.factory.MoveIteratorFactoryConfig
        - org.optaplanner.core.config.heuristic.selector.move.factory.MoveListFactoryConfig
        - org.optaplanner.core.config.heuristic.selector.move.generic.chained.SubChainChangeMoveSelectorConfig
        - org.optaplanner.core.config.heuristic.selector.move.generic.chained.SubChainSwapMoveSelectorConfig
        - org.optaplanner.core.config.heuristic.selector.move.generic.SwapMoveSelectorConfig
        - org.optaplanner.core.config.heuristic.selector.move.generic.chained.TailChainSwapMoveSelectorConfig
        - org.optaplanner.core.config.heuristic.selector.move.composite.UnionMoveSelectorConfig
      - org.optaplanner.core.config.heuristic.selector.common.nearby.NearbySelectionConfig
      - org.optaplanner.core.config.heuristic.selector.entity.pillar.PillarSelectorConfig
      - org.optaplanner.core.config.heuristic.selector.value.chained.SubChainSelectorConfig
      - org.optaplanner.core.config.heuristic.selector.value.ValueSelectorConfig
    - org.optaplanner.benchmark.config.SolverBenchmarkConfig<Solution_>
    - org.optaplanner.core.config.solver.SolverConfig
    - org.optaplanner.core.config.solver.SolverManagerConfig
    - org.optaplanner.core.config.solver.termination.TerminationConfig
  - org.optaplanner.core.impl.score.stream.common.AbstractConstraint<Solution_,​ConstraintFactory> (implements org.optaplanner.core.api.score.stream.Constraint)
    - org.optaplanner.core.impl.score.stream.bavet.BavetConstraint<Solution_>
    - org.optaplanner.core.impl.score.stream.drools.DroolsConstraint<Solution_>
  - org.optaplanner.core.impl.score.stream.common.AbstractConstraintSessionFactory<Solution_> (implements org.optaplanner.core.impl.score.stream.ConstraintSessionFactory<Solution_>)
    - org.optaplanner.core.impl.score.stream.bavet.BavetConstraintSessionFactory<Solution_>
    - org.optaplanner.core.impl.score.stream.drools.DroolsConstraintSessionFactory<Solution_>
  - org.optaplanner.core.impl.score.stream.common.AbstractConstraintStream<Solution_> (implements org.optaplanner.core.api.score.stream.ConstraintStream)
    - org.optaplanner.core.impl.score.stream.bavet.common.BavetAbstractConstraintStream<Solution_>
      - org.optaplanner.core.impl.score.stream.bavet.bi.BavetAbstractBiConstraintStream<Solution_,​A,​B> (implements org.optaplanner.core.impl.score.stream.bi.InnerBiConstraintStream<A,​B>)
        - org.optaplanner.core.impl.score.stream.bavet.bi.BavetFilterBiConstraintStream<Solution_,​A,​B>
        - org.optaplanner.core.impl.score.stream.bavet.bi.BavetGroupBiConstraintStream<Solution_,​GroupKey_,​ResultContainer_,​Result_>
        - org.optaplanner.core.impl.score.stream.bavet.bi.BavetJoinBiConstraintStream<Solution_,​A,​B> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinConstraintStream<Solution_>)
        - org.optaplanner.core.impl.score.stream.bavet.bi.BavetJoinBridgeBiConstraintStream<Solution_,​A,​B> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinBridgeConstraintStream<Solution_>)
        - org.optaplanner.core.impl.score.stream.bavet.bi.BavetScoringBiConstraintStream<Solution_,​A,​B>
      - org.optaplanner.core.impl.score.stream.bavet.tri.BavetAbstractTriConstraintStream<Solution_,​A,​B,​C> (implements org.optaplanner.core.impl.score.stream.tri.InnerTriConstraintStream<A,​B,​C>)
        - org.optaplanner.core.impl.score.stream.bavet.tri.BavetFilterTriConstraintStream<Solution_,​A,​B,​C>
        - org.optaplanner.core.impl.score.stream.bavet.tri.BavetJoinTriConstraintStream<Solution_,​A,​B,​C> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinConstraintStream<Solution_>)
        - org.optaplanner.core.impl.score.stream.bavet.tri.BavetScoringTriConstraintStream<Solution_,​A,​B,​C>
      - org.optaplanner.core.impl.score.stream.bavet.uni.BavetAbstractUniConstraintStream<Solution_,​A> (implements org.optaplanner.core.impl.score.stream.uni.InnerUniConstraintStream<A>)
        - org.optaplanner.core.impl.score.stream.bavet.uni.BavetFilterUniConstraintStream<Solution_,​A>
        - org.optaplanner.core.impl.score.stream.bavet.uni.BavetFromUniConstraintStream<Solution_,​A>
        - org.optaplanner.core.impl.score.stream.bavet.uni.BavetGroupBridgeUniConstraintStream<Solution_,​A,​NewA,​ResultContainer_,​NewB>
        - org.optaplanner.core.impl.score.stream.bavet.uni.BavetJoinBridgeUniConstraintStream<Solution_,​A> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinBridgeConstraintStream<Solution_>)
        - org.optaplanner.core.impl.score.stream.bavet.uni.BavetScoringUniConstraintStream<Solution_,​A>
    - org.optaplanner.core.impl.score.stream.drools.common.DroolsAbstractConstraintStream<Solution_>
      - org.optaplanner.core.impl.score.stream.drools.bi.DroolsAbstractBiConstraintStream<Solution_,​A,​B> (implements org.optaplanner.core.impl.score.stream.bi.InnerBiConstraintStream<A,​B>)
        - org.optaplanner.core.impl.score.stream.drools.bi.DroolsExistsBiConstraintStream<Solution_,​A,​B>
        - org.optaplanner.core.impl.score.stream.drools.bi.DroolsFilterBiConstraintStream<Solution_,​A,​B>
        - org.optaplanner.core.impl.score.stream.drools.bi.DroolsGroupingBiConstraintStream<Solution_,​NewA,​NewB>
        - org.optaplanner.core.impl.score.stream.drools.bi.DroolsJoinBiConstraintStream<Solution_,​A,​B>
        - org.optaplanner.core.impl.score.stream.drools.bi.DroolsScoringBiConstraintStream<Solution_,​A,​B>
      - org.optaplanner.core.impl.score.stream.drools.quad.DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> (implements org.optaplanner.core.impl.score.stream.quad.InnerQuadConstraintStream<A,​B,​C,​D>)
        - org.optaplanner.core.impl.score.stream.drools.quad.DroolsExistsQuadConstraintStream<Solution_,​A,​B,​C,​D>
        - org.optaplanner.core.impl.score.stream.drools.quad.DroolsFilterQuadConstraintStream<Solution_,​A,​B,​C,​D>
        - org.optaplanner.core.impl.score.stream.drools.quad.DroolsGroupingQuadConstraintStream<Solution_,​NewA,​NewB,​NewC,​NewD>
        - org.optaplanner.core.impl.score.stream.drools.quad.DroolsJoinQuadConstraintStream<Solution_,​A,​B,​C,​D>
        - org.optaplanner.core.impl.score.stream.drools.quad.DroolsScoringQuadConstraintStream<Solution_,​A,​B,​C,​D>
      - org.optaplanner.core.impl.score.stream.drools.tri.DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> (implements org.optaplanner.core.impl.score.stream.tri.InnerTriConstraintStream<A,​B,​C>)
        - org.optaplanner.core.impl.score.stream.drools.tri.DroolsExistsTriConstraintStream<Solution_,​A,​B,​C>
        - org.optaplanner.core.impl.score.stream.drools.tri.DroolsFilterTriConstraintStream<Solution_,​A,​B,​C>
        - org.optaplanner.core.impl.score.stream.drools.tri.DroolsGroupingTriConstraintStream<Solution_,​NewA,​NewB,​NewC>
        - org.optaplanner.core.impl.score.stream.drools.tri.DroolsJoinTriConstraintStream<Solution_,​A,​B,​C>
        - org.optaplanner.core.impl.score.stream.drools.tri.DroolsScoringTriConstraintStream<Solution_,​A,​B,​C>
      - org.optaplanner.core.impl.score.stream.drools.uni.DroolsAbstractUniConstraintStream<Solution_,​A> (implements org.optaplanner.core.impl.score.stream.uni.InnerUniConstraintStream<A>)
        - org.optaplanner.core.impl.score.stream.drools.uni.DroolsExistsUniConstraintStream<Solution_,​A>
        - org.optaplanner.core.impl.score.stream.drools.uni.DroolsFilterUniConstraintStream<Solution_,​A>
        - org.optaplanner.core.impl.score.stream.drools.uni.DroolsFromUniConstraintStream<Solution_,​A>
        - org.optaplanner.core.impl.score.stream.drools.uni.DroolsGroupingUniConstraintStream<Solution_,​NewA>
        - org.optaplanner.core.impl.score.stream.drools.uni.DroolsScoringUniConstraintStream<Solution_,​A>
  - org.optaplanner.core.impl.score.stream.common.AbstractConstraintStreamHelper<Right,​JoinedStream,​Joiner,​Predicate>
    - org.optaplanner.core.impl.score.stream.bi.BiConstraintStreamHelper<A,​B,​C>
    - org.optaplanner.core.impl.score.stream.tri.TriConstraintStreamHelper<A,​B,​C,​D>
    - org.optaplanner.core.impl.score.stream.uni.UniConstraintStreamHelper<A,​B>
  - org.optaplanner.core.impl.domain.valuerange.AbstractCountableValueRange<T> (implements org.optaplanner.core.api.domain.valuerange.CountableValueRange<T>, java.io.Serializable)
    - org.optaplanner.core.impl.domain.valuerange.buildin.bigdecimal.BigDecimalValueRange
    - org.optaplanner.core.impl.domain.valuerange.buildin.biginteger.BigIntegerValueRange
    - org.optaplanner.core.impl.domain.valuerange.buildin.primboolean.BooleanValueRange
    - org.optaplanner.core.impl.domain.valuerange.buildin.composite.CompositeCountableValueRange<T>
    - org.optaplanner.core.impl.domain.valuerange.buildin.composite.EmptyValueRange<T>
    - org.optaplanner.core.impl.domain.valuerange.buildin.primint.IntValueRange
    - org.optaplanner.core.impl.domain.valuerange.buildin.collection.ListValueRange<T>
    - org.optaplanner.core.impl.domain.valuerange.buildin.primlong.LongValueRange
    - org.optaplanner.core.impl.domain.valuerange.buildin.composite.NullableCountableValueRange<T>
    - org.optaplanner.core.impl.domain.valuerange.buildin.temporal.TemporalValueRange<Temporal_>
  - org.optaplanner.core.impl.phase.custom.AbstractCustomPhaseCommand<Solution_> (implements org.optaplanner.core.impl.phase.custom.CustomPhaseCommand<Solution_>)
    - org.optaplanner.core.impl.phase.custom.NoChangeCustomPhaseCommand
  - org.optaplanner.core.impl.constructionheuristic.placer.AbstractEntityPlacer
    - org.optaplanner.core.impl.constructionheuristic.placer.PooledEntityPlacer (implements org.optaplanner.core.impl.constructionheuristic.placer.EntityPlacer)
    - org.optaplanner.core.impl.constructionheuristic.placer.QueuedEntityPlacer (implements org.optaplanner.core.impl.constructionheuristic.placer.EntityPlacer)
    - org.optaplanner.core.impl.constructionheuristic.placer.QueuedValuePlacer (implements org.optaplanner.core.impl.constructionheuristic.placer.EntityPlacer)
  - org.optaplanner.core.impl.solver.event.AbstractEventSupport<E>
    - org.optaplanner.core.impl.phase.event.PhaseLifecycleSupport<Solution_>
    - org.optaplanner.core.impl.solver.event.SolverEventSupport<Solution_>
    - org.optaplanner.core.impl.score.director.drools.testgen.TestGenKieSessionEventSupport (implements org.optaplanner.core.impl.score.director.drools.testgen.TestGenKieSessionListener)
  - org.optaplanner.core.impl.score.director.incremental.AbstractIncrementalScoreCalculator<Solution_> (implements org.optaplanner.core.impl.score.director.incremental.IncrementalScoreCalculator<Solution_>)
  - org.optaplanner.core.impl.score.stream.common.AbstractJoiner
    - org.optaplanner.core.impl.score.stream.bi.AbstractBiJoiner<A,​B> (implements org.optaplanner.core.api.score.stream.bi.BiJoiner<A,​B>)
      - org.optaplanner.core.impl.score.stream.bi.CompositeBiJoiner<A,​B>
      - org.optaplanner.core.impl.score.stream.bi.FilteringBiJoiner<A,​B>
      - org.optaplanner.core.impl.score.stream.bi.NoneBiJoiner<A,​B>
      - org.optaplanner.core.impl.score.stream.bi.SingleBiJoiner<A,​B>
    - org.optaplanner.core.impl.score.stream.penta.AbstractPentaJoiner<A,​B,​C,​D,​E> (implements org.optaplanner.core.api.score.stream.penta.PentaJoiner<A,​B,​C,​D,​E>)
      - org.optaplanner.core.impl.score.stream.penta.CompositePentaJoiner<A,​B,​C,​D,​E>
      - org.optaplanner.core.impl.score.stream.penta.FilteringPentaJoiner<A,​B,​C,​D,​E>
      - org.optaplanner.core.impl.score.stream.penta.NonePentaJoiner<A,​B,​C,​D,​E>
      - org.optaplanner.core.impl.score.stream.penta.SinglePentaJoiner<A,​B,​C,​D,​E>
    - org.optaplanner.core.impl.score.stream.quad.AbstractQuadJoiner<A,​B,​C,​D> (implements org.optaplanner.core.api.score.stream.quad.QuadJoiner<A,​B,​C,​D>)
      - org.optaplanner.core.impl.score.stream.quad.CompositeQuadJoiner<A,​B,​C,​D>
      - org.optaplanner.core.impl.score.stream.quad.FilteringQuadJoiner<A,​B,​C,​D>
      - org.optaplanner.core.impl.score.stream.quad.NoneQuadJoiner<A,​B,​C,​D>
      - org.optaplanner.core.impl.score.stream.quad.SingleQuadJoiner<A,​B,​C,​D>
    - org.optaplanner.core.impl.score.stream.tri.AbstractTriJoiner<A,​B,​C> (implements org.optaplanner.core.api.score.stream.tri.TriJoiner<A,​B,​C>)
      - org.optaplanner.core.impl.score.stream.tri.CompositeTriJoiner<A,​B,​C>
      - org.optaplanner.core.impl.score.stream.tri.FilteringTriJoiner<A,​B,​C>
      - org.optaplanner.core.impl.score.stream.tri.NoneTriJoiner<A,​B,​C>
      - org.optaplanner.core.impl.score.stream.tri.SingleTriJoiner<A,​B,​C>
  - java.util.AbstractMap<K,​V> (implements java.util.Map<K,​V>)
    - java.util.concurrent.ConcurrentHashMap<K,​V> (implements java.util.concurrent.ConcurrentMap<K,​V>, java.io.Serializable)
      - org.optaplanner.core.impl.domain.common.ConcurrentMemoization<K,​V>
  - org.optaplanner.core.impl.heuristic.move.AbstractMove<Solution_> (implements org.optaplanner.core.impl.heuristic.move.Move<Solution_>)
    - org.optaplanner.core.impl.heuristic.selector.move.generic.ChangeMove<Solution_>
      - org.optaplanner.core.impl.heuristic.selector.move.generic.chained.ChainedChangeMove<Solution_>
    - org.optaplanner.core.impl.heuristic.selector.move.generic.chained.KOptMove<Solution_>
    - org.optaplanner.core.impl.heuristic.move.NoChangeMove<Solution_>
    - org.optaplanner.core.impl.partitionedsearch.scope.PartitionChangeMove<Solution_>
    - org.optaplanner.core.impl.heuristic.selector.move.generic.PillarChangeMove<Solution_>
    - org.optaplanner.core.impl.heuristic.selector.move.generic.PillarSwapMove<Solution_>
    - org.optaplanner.core.impl.heuristic.selector.move.generic.chained.SubChainChangeMove<Solution_>
    - org.optaplanner.core.impl.heuristic.selector.move.generic.chained.SubChainReversingChangeMove<Solution_>
    - org.optaplanner.core.impl.heuristic.selector.move.generic.chained.SubChainReversingSwapMove<Solution_>
    - org.optaplanner.core.impl.heuristic.selector.move.generic.chained.SubChainSwapMove<Solution_>
    - org.optaplanner.core.impl.heuristic.selector.move.generic.SwapMove<Solution_>
      - org.optaplanner.core.impl.heuristic.selector.move.generic.chained.ChainedSwapMove<Solution_>
    - org.optaplanner.core.impl.heuristic.selector.move.generic.chained.TailChainSwapMove<Solution_>
  - org.optaplanner.core.impl.phase.scope.AbstractMoveScope<Solution_>
    - org.optaplanner.core.impl.constructionheuristic.scope.ConstructionHeuristicMoveScope<Solution_>
    - org.optaplanner.core.impl.localsearch.scope.LocalSearchMoveScope<Solution_>
  - org.optaplanner.core.impl.phase.AbstractPhase<Solution_> (implements org.optaplanner.core.impl.phase.Phase<Solution_>)
    - org.optaplanner.core.impl.constructionheuristic.DefaultConstructionHeuristicPhase<Solution_> (implements org.optaplanner.core.impl.constructionheuristic.ConstructionHeuristicPhase<Solution_>)
    - org.optaplanner.core.impl.phase.custom.DefaultCustomPhase<Solution_> (implements org.optaplanner.core.impl.phase.custom.CustomPhase<Solution_>)
    - org.optaplanner.core.impl.exhaustivesearch.DefaultExhaustiveSearchPhase<Solution_> (implements org.optaplanner.core.impl.exhaustivesearch.ExhaustiveSearchPhase<Solution_>)
    - org.optaplanner.core.impl.localsearch.DefaultLocalSearchPhase<Solution_> (implements org.optaplanner.core.impl.localsearch.LocalSearchPhase<Solution_>, org.optaplanner.core.impl.localsearch.event.LocalSearchPhaseLifecycleListener<Solution_>)
    - org.optaplanner.core.impl.partitionedsearch.DefaultPartitionedSearchPhase<Solution_> (implements org.optaplanner.core.impl.partitionedsearch.PartitionedSearchPhase<Solution_>, org.optaplanner.core.impl.partitionedsearch.event.PartitionedSearchPhaseLifecycleListener<Solution_>)
    - org.optaplanner.core.impl.phase.NoChangePhase<Solution_>
  - org.optaplanner.core.impl.phase.scope.AbstractPhaseScope<Solution_>
    - org.optaplanner.core.impl.constructionheuristic.scope.ConstructionHeuristicPhaseScope<Solution_>
    - org.optaplanner.core.impl.phase.custom.scope.CustomPhaseScope<Solution_>
    - org.optaplanner.core.impl.exhaustivesearch.scope.ExhaustiveSearchPhaseScope<Solution_>
    - org.optaplanner.core.impl.localsearch.scope.LocalSearchPhaseScope<Solution_>
    - org.optaplanner.core.impl.partitionedsearch.scope.PartitionedSearchPhaseScope<Solution_>
  - org.optaplanner.core.api.score.AbstractScore<S> (implements org.optaplanner.core.api.score.Score<Score_>, java.io.Serializable)
    - org.optaplanner.core.api.score.AbstractBendableScore<S>
      - org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore (implements org.optaplanner.core.api.score.FeasibilityScore<S>)
      - org.optaplanner.core.api.score.buildin.bendablelong.BendableLongScore (implements org.optaplanner.core.api.score.FeasibilityScore<S>)
      - org.optaplanner.core.api.score.buildin.bendable.BendableScore (implements org.optaplanner.core.api.score.FeasibilityScore<S>)
    - org.optaplanner.core.api.score.buildin.hardmediumsoftbigdecimal.HardMediumSoftBigDecimalScore (implements org.optaplanner.core.api.score.FeasibilityScore<S>)
    - org.optaplanner.core.api.score.buildin.hardmediumsoftlong.HardMediumSoftLongScore (implements org.optaplanner.core.api.score.FeasibilityScore<S>)
    - org.optaplanner.core.api.score.buildin.hardmediumsoft.HardMediumSoftScore (implements org.optaplanner.core.api.score.FeasibilityScore<S>)
    - org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore (implements org.optaplanner.core.api.score.FeasibilityScore<S>)
    - org.optaplanner.core.api.score.buildin.hardsoftdouble.HardSoftDoubleScore (implements org.optaplanner.core.api.score.FeasibilityScore<S>)
    - org.optaplanner.core.api.score.buildin.hardsoftlong.HardSoftLongScore (implements org.optaplanner.core.api.score.FeasibilityScore<S>)
    - org.optaplanner.core.api.score.buildin.hardsoft.HardSoftScore (implements org.optaplanner.core.api.score.FeasibilityScore<S>)
    - org.optaplanner.core.api.score.buildin.simplebigdecimal.SimpleBigDecimalScore
    - org.optaplanner.core.api.score.buildin.simpledouble.SimpleDoubleScore
    - org.optaplanner.core.api.score.buildin.simplelong.SimpleLongScore
    - org.optaplanner.core.api.score.buildin.simple.SimpleScore
  - org.optaplanner.core.impl.score.definition.AbstractScoreDefinition<S> (implements org.optaplanner.core.impl.score.definition.ScoreDefinition<S>, java.io.Serializable)
    - org.optaplanner.core.impl.score.definition.AbstractBendableScoreDefinition<S> (implements org.optaplanner.core.impl.score.definition.ScoreDefinition<S>)
      - org.optaplanner.core.impl.score.buildin.bendablebigdecimal.BendableBigDecimalScoreDefinition
      - org.optaplanner.core.impl.score.buildin.bendablelong.BendableLongScoreDefinition
      - org.optaplanner.core.impl.score.buildin.bendable.BendableScoreDefinition
    - org.optaplanner.core.impl.score.buildin.hardmediumsoftbigdecimal.HardMediumSoftBigDecimalScoreDefinition
    - org.optaplanner.core.impl.score.buildin.hardmediumsoftlong.HardMediumSoftLongScoreDefinition
    - org.optaplanner.core.impl.score.buildin.hardmediumsoft.HardMediumSoftScoreDefinition
    - org.optaplanner.core.impl.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreDefinition
    - org.optaplanner.core.impl.score.buildin.hardsoftdouble.HardSoftDoubleScoreDefinition
    - org.optaplanner.core.impl.score.buildin.hardsoftlong.HardSoftLongScoreDefinition
    - org.optaplanner.core.impl.score.buildin.hardsoft.HardSoftScoreDefinition
    - org.optaplanner.core.impl.score.buildin.simplebigdecimal.SimpleBigDecimalScoreDefinition
    - org.optaplanner.core.impl.score.buildin.simpledouble.SimpleDoubleScoreDefinition
    - org.optaplanner.core.impl.score.buildin.simplelong.SimpleLongScoreDefinition
    - org.optaplanner.core.impl.score.buildin.simple.SimpleScoreDefinition
  - org.optaplanner.core.impl.score.director.AbstractScoreDirector<Solution_,​Factory_> (implements java.lang.Cloneable, org.optaplanner.core.impl.score.director.InnerScoreDirector<Solution_>)
    - org.optaplanner.core.impl.score.director.stream.ConstraintStreamScoreDirector<Solution_>
    - org.optaplanner.core.impl.score.director.drools.DroolsScoreDirector<Solution_>
      - org.optaplanner.core.impl.score.director.drools.testgen.TestGenDroolsScoreDirector<Solution_>
    - org.optaplanner.core.impl.score.director.easy.EasyScoreDirector<Solution_>
    - org.optaplanner.core.impl.score.director.incremental.IncrementalScoreDirector<Solution_>
  - org.optaplanner.core.impl.score.director.AbstractScoreDirectorFactory<Solution_> (implements org.optaplanner.core.impl.score.director.InnerScoreDirectorFactory<Solution_>)
    - org.optaplanner.core.impl.score.director.stream.ConstraintStreamScoreDirectorFactory<Solution_>
    - org.optaplanner.core.impl.score.director.drools.DroolsScoreDirectorFactory<Solution_>
      - org.optaplanner.core.impl.score.director.drools.testgen.TestGenDroolsScoreDirectorFactory<Solution_>
    - org.optaplanner.core.impl.score.director.easy.EasyScoreDirectorFactory<Solution_>
    - org.optaplanner.core.impl.score.director.incremental.IncrementalScoreDirectorFactory<Solution_>
  - org.optaplanner.persistence.jpa.impl.score.AbstractScoreHibernateType (implements org.hibernate.usertype.CompositeUserType)
    - org.optaplanner.persistence.jpa.impl.score.buildin.bendablebigdecimal.BendableBigDecimalScoreHibernateType (implements org.hibernate.usertype.ParameterizedType)
    - org.optaplanner.persistence.jpa.impl.score.buildin.bendablelong.BendableLongScoreHibernateType (implements org.hibernate.usertype.ParameterizedType)
    - org.optaplanner.persistence.jpa.impl.score.buildin.bendable.BendableScoreHibernateType (implements org.hibernate.usertype.ParameterizedType)
    - org.optaplanner.persistence.jpa.impl.score.buildin.hardmediumsoftbigdecimal.HardMediumSoftBigDecimalScoreHibernateType
    - org.optaplanner.persistence.jpa.impl.score.buildin.hardmediumsoftlong.HardMediumSoftLongScoreHibernateType
    - org.optaplanner.persistence.jpa.impl.score.buildin.hardmediumsoft.HardMediumSoftScoreHibernateType
    - org.optaplanner.persistence.jpa.impl.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreHibernateType
    - org.optaplanner.persistence.jpa.impl.score.buildin.hardsoftdouble.HardSoftDoubleScoreHibernateType
    - org.optaplanner.persistence.jpa.impl.score.buildin.hardsoftlong.HardSoftLongScoreHibernateType
    - org.optaplanner.persistence.jpa.impl.score.buildin.hardsoft.HardSoftScoreHibernateType
    - org.optaplanner.persistence.jpa.impl.score.buildin.simplebigdecimal.SimpleBigDecimalScoreHibernateType
    - org.optaplanner.persistence.jpa.impl.score.buildin.simpledouble.SimpleDoubleScoreHibernateType
    - org.optaplanner.persistence.jpa.impl.score.buildin.simplelong.SimpleLongScoreHibernateType
    - org.optaplanner.persistence.jpa.impl.score.buildin.simple.SimpleScoreHibernateType
  - org.optaplanner.core.api.score.holder.AbstractScoreHolder<Score_> (implements org.optaplanner.core.api.score.holder.ScoreHolder<Score_>, java.io.Serializable)
    - org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreHolder
    - org.optaplanner.core.api.score.buildin.bendablelong.BendableLongScoreHolder
    - org.optaplanner.core.api.score.buildin.bendable.BendableScoreHolder
    - org.optaplanner.core.api.score.buildin.hardmediumsoftbigdecimal.HardMediumSoftBigDecimalScoreHolder
    - org.optaplanner.core.api.score.buildin.hardmediumsoftlong.HardMediumSoftLongScoreHolder
    - org.optaplanner.core.api.score.buildin.hardmediumsoft.HardMediumSoftScoreHolder
    - org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreHolder
    - org.optaplanner.core.api.score.buildin.hardsoftdouble.HardSoftDoubleScoreHolder
    - org.optaplanner.core.api.score.buildin.hardsoftlong.HardSoftLongScoreHolder
    - org.optaplanner.core.api.score.buildin.hardsoft.HardSoftScoreHolder
    - org.optaplanner.core.api.score.buildin.simplebigdecimal.SimpleBigDecimalScoreHolder
    - org.optaplanner.core.api.score.buildin.simpledouble.SimpleDoubleScoreHolder
    - org.optaplanner.core.api.score.buildin.simplelong.SimpleLongScoreHolder
    - org.optaplanner.core.api.score.buildin.simple.SimpleScoreHolder
  - org.optaplanner.core.api.score.holder.AbstractScoreHolder.ConstraintActivationUnMatchListener (implements java.lang.Runnable)
  - org.optaplanner.persistence.jsonb.api.score.AbstractScoreJsonbAdapter<Score_> (implements javax.json.bind.adapter.JsonbAdapter<Original,​Adapted>)
    - org.optaplanner.persistence.jsonb.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreJsonbAdapter
    - org.optaplanner.persistence.jsonb.api.score.buildin.bendablelong.BendableLongScoreJsonbAdapter
    - org.optaplanner.persistence.jsonb.api.score.buildin.bendable.BendableScoreJsonbAdapter
    - org.optaplanner.persistence.jsonb.api.score.buildin.hardmediumsoftbigdecimal.HardMediumSoftBigDecimalScoreJsonbAdapter
    - org.optaplanner.persistence.jsonb.api.score.buildin.hardmediumsoftlong.HardMediumSoftLongScoreJsonbAdapter
    - org.optaplanner.persistence.jsonb.api.score.buildin.hardmediumsoft.HardMediumSoftScoreJsonbAdapter
    - org.optaplanner.persistence.jsonb.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreJsonbAdapter
    - org.optaplanner.persistence.jsonb.api.score.buildin.hardsoftdouble.HardSoftDoubleScoreJsonbAdapter
    - org.optaplanner.persistence.jsonb.api.score.buildin.hardsoftlong.HardSoftLongScoreJsonbAdapter
    - org.optaplanner.persistence.jsonb.api.score.buildin.hardsoft.HardSoftScoreJsonbAdapter
    - org.optaplanner.persistence.jsonb.api.score.buildin.simplebigdecimal.SimpleBigDecimalScoreJsonbAdapter
    - org.optaplanner.persistence.jsonb.api.score.buildin.simpledouble.SimpleDoubleScoreJsonbAdapter
    - org.optaplanner.persistence.jsonb.api.score.buildin.simplelong.SimpleLongScoreJsonbAdapter
    - org.optaplanner.persistence.jsonb.api.score.buildin.simple.SimpleScoreJsonbAdapter
  - org.optaplanner.test.impl.score.AbstractScoreVerifier<Solution_>
    - org.optaplanner.test.impl.score.buildin.bendablebigdecimal.BendableBigDecimalScoreVerifier<Solution_>
    - org.optaplanner.test.impl.score.buildin.bendablelong.BendableLongScoreVerifier<Solution_>
    - org.optaplanner.test.impl.score.buildin.bendable.BendableScoreVerifier<Solution_>
    - org.optaplanner.test.impl.score.buildin.hardmediumsoftlong.HardMediumSoftLongScoreVerifier<Solution_>
    - org.optaplanner.test.impl.score.buildin.hardmediumsoft.HardMediumSoftScoreVerifier<Solution_>
    - org.optaplanner.test.impl.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreVerifier<Solution_>
    - org.optaplanner.test.impl.score.buildin.hardsoftlong.HardSoftLongScoreVerifier<Solution_>
    - org.optaplanner.test.impl.score.buildin.hardsoft.HardSoftScoreVerifier<Solution_>
    - org.optaplanner.test.impl.score.buildin.simplebigdecimal.SimpleBigDecimalScoreVerifier<Solution_>
    - org.optaplanner.test.impl.score.buildin.simplelong.SimpleLongScoreVerifier<Solution_>
    - org.optaplanner.test.impl.score.buildin.simple.SimpleScoreVerifier<Solution_>
  - org.optaplanner.persistence.xstream.api.score.AbstractScoreXStreamConverter (implements com.thoughtworks.xstream.converters.Converter)
    - org.optaplanner.persistence.xstream.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreXStreamConverter
    - org.optaplanner.persistence.xstream.api.score.buildin.bendablelong.BendableLongScoreXStreamConverter
    - org.optaplanner.persistence.xstream.api.score.buildin.bendable.BendableScoreXStreamConverter
    - org.optaplanner.persistence.xstream.api.score.buildin.hardmediumsoftbigdecimal.HardMediumSoftBigDecimalScoreXStreamConverter
    - org.optaplanner.persistence.xstream.api.score.buildin.hardmediumsoftlong.HardMediumSoftLongScoreXStreamConverter
    - org.optaplanner.persistence.xstream.api.score.buildin.hardmediumsoft.HardMediumSoftScoreXStreamConverter
    - org.optaplanner.persistence.xstream.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreXStreamConverter
    - org.optaplanner.persistence.xstream.api.score.buildin.hardsoftdouble.HardSoftDoubleScoreXStreamConverter
    - org.optaplanner.persistence.xstream.api.score.buildin.hardsoftlong.HardSoftLongScoreXStreamConverter
    - org.optaplanner.persistence.xstream.api.score.buildin.hardsoft.HardSoftScoreXStreamConverter
    - org.optaplanner.persistence.xstream.api.score.buildin.simplebigdecimal.SimpleBigDecimalScoreXStreamConverter
    - org.optaplanner.persistence.xstream.api.score.buildin.simpledouble.SimpleDoubleScoreXStreamConverter
    - org.optaplanner.persistence.xstream.api.score.buildin.simplelong.SimpleLongScoreXStreamConverter
    - org.optaplanner.persistence.xstream.api.score.buildin.simple.SimpleScoreXStreamConverter
  - org.optaplanner.core.impl.heuristic.selector.AbstractSelector (implements org.optaplanner.core.impl.heuristic.selector.Selector)
    - org.optaplanner.core.impl.heuristic.selector.entity.AbstractEntitySelector (implements org.optaplanner.core.impl.heuristic.selector.entity.EntitySelector)
      - org.optaplanner.core.impl.heuristic.selector.entity.decorator.AbstractCachingEntitySelector (implements org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleListener)
        - org.optaplanner.core.impl.heuristic.selector.entity.decorator.CachingEntitySelector
        - org.optaplanner.core.impl.heuristic.selector.entity.decorator.ShufflingEntitySelector
        - org.optaplanner.core.impl.heuristic.selector.entity.decorator.SortingEntitySelector
      - org.optaplanner.core.impl.heuristic.selector.entity.decorator.FilteringEntitySelector
      - org.optaplanner.core.impl.heuristic.selector.entity.FromSolutionEntitySelector
      - org.optaplanner.core.impl.heuristic.selector.entity.mimic.MimicRecordingEntitySelector (implements org.optaplanner.core.impl.heuristic.selector.entity.mimic.EntityMimicRecorder)
      - org.optaplanner.core.impl.heuristic.selector.entity.mimic.MimicReplayingEntitySelector
      - org.optaplanner.core.impl.heuristic.selector.entity.nearby.NearEntityNearbyEntitySelector
      - org.optaplanner.core.impl.heuristic.selector.entity.decorator.ProbabilityEntitySelector (implements org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleListener)
      - org.optaplanner.core.impl.heuristic.selector.entity.decorator.SelectedCountLimitEntitySelector
    - org.optaplanner.core.impl.heuristic.selector.move.AbstractMoveSelector (implements org.optaplanner.core.impl.heuristic.selector.move.MoveSelector)
      - org.optaplanner.core.impl.heuristic.selector.move.decorator.AbstractCachingMoveSelector (implements org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleListener)
        - org.optaplanner.core.impl.heuristic.selector.move.decorator.CachingMoveSelector
        - org.optaplanner.core.impl.heuristic.selector.move.decorator.ShufflingMoveSelector
        - org.optaplanner.core.impl.heuristic.selector.move.decorator.SortingMoveSelector
      - org.optaplanner.core.impl.heuristic.selector.move.composite.CompositeMoveSelector
        - org.optaplanner.core.impl.heuristic.selector.move.composite.CartesianProductMoveSelector
        - org.optaplanner.core.impl.heuristic.selector.move.composite.UnionMoveSelector
      - org.optaplanner.core.impl.heuristic.selector.move.decorator.FilteringMoveSelector
      - org.optaplanner.core.impl.heuristic.selector.move.generic.GenericMoveSelector
        - org.optaplanner.core.impl.heuristic.selector.move.generic.ChangeMoveSelector
        - org.optaplanner.core.impl.heuristic.selector.move.generic.chained.KOptMoveSelector
        - org.optaplanner.core.impl.heuristic.selector.move.generic.PillarChangeMoveSelector
        - org.optaplanner.core.impl.heuristic.selector.move.generic.PillarSwapMoveSelector
        - org.optaplanner.core.impl.heuristic.selector.move.generic.chained.SubChainChangeMoveSelector
        - org.optaplanner.core.impl.heuristic.selector.move.generic.chained.SubChainSwapMoveSelector
        - org.optaplanner.core.impl.heuristic.selector.move.generic.SwapMoveSelector
        - org.optaplanner.core.impl.heuristic.selector.move.generic.chained.TailChainSwapMoveSelector
      - org.optaplanner.core.impl.heuristic.selector.move.factory.MoveIteratorFactoryToMoveSelectorBridge
      - org.optaplanner.core.impl.heuristic.selector.move.factory.MoveListFactoryToMoveSelectorBridge (implements org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleListener)
      - org.optaplanner.core.impl.heuristic.selector.move.decorator.ProbabilityMoveSelector (implements org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleListener)
      - org.optaplanner.core.impl.heuristic.selector.move.decorator.SelectedCountLimitMoveSelector
    - org.optaplanner.core.impl.heuristic.selector.value.AbstractValueSelector (implements org.optaplanner.core.impl.heuristic.selector.value.ValueSelector)
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.AbstractCachingValueSelector (implements org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleListener)
        - org.optaplanner.core.impl.heuristic.selector.value.decorator.CachingValueSelector (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector)
        - org.optaplanner.core.impl.heuristic.selector.value.decorator.ShufflingValueSelector (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector)
        - org.optaplanner.core.impl.heuristic.selector.value.decorator.SortingValueSelector (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector)
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.DowncastingValueSelector
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.EntityDependentSortingValueSelector
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.FilteringValueSelector
        - org.optaplanner.core.impl.heuristic.selector.value.decorator.EntityIndependentFilteringValueSelector (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector)
      - org.optaplanner.core.impl.heuristic.selector.value.FromEntityPropertyValueSelector<Solution_>
      - org.optaplanner.core.impl.heuristic.selector.value.FromSolutionPropertyValueSelector (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector)
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.InitializedValueSelector
        - org.optaplanner.core.impl.heuristic.selector.value.decorator.EntityIndependentInitializedValueSelector (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector)
      - org.optaplanner.core.impl.heuristic.selector.value.mimic.MimicRecordingValueSelector (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector, org.optaplanner.core.impl.heuristic.selector.value.mimic.ValueMimicRecorder)
      - org.optaplanner.core.impl.heuristic.selector.value.mimic.MimicReplayingValueSelector (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector)
      - org.optaplanner.core.impl.heuristic.selector.value.nearby.NearEntityNearbyValueSelector
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.ProbabilityValueSelector (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector, org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleListener)
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.ReinitializeVariableValueSelector
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.SelectedCountLimitValueSelector (implements org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector)
    - org.optaplanner.core.impl.heuristic.selector.entity.pillar.DefaultPillarSelector (implements org.optaplanner.core.impl.heuristic.selector.entity.pillar.PillarSelector, org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleListener)
    - org.optaplanner.core.impl.heuristic.selector.value.chained.DefaultSubChainSelector (implements org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleListener, org.optaplanner.core.impl.heuristic.selector.value.chained.SubChainSelector)
  - org.optaplanner.core.impl.domain.solution.AbstractSolution<S> (implements java.io.Serializable)
  - org.optaplanner.core.impl.solver.AbstractSolver<Solution_> (implements org.optaplanner.core.api.solver.Solver<Solution_>)
    - org.optaplanner.core.impl.solver.DefaultSolver<Solution_>
    - org.optaplanner.core.impl.partitionedsearch.PartitionSolver<Solution_>
  - org.optaplanner.core.impl.phase.scope.AbstractStepScope<Solution_>
    - org.optaplanner.core.impl.constructionheuristic.scope.ConstructionHeuristicStepScope<Solution_>
    - org.optaplanner.core.impl.phase.custom.scope.CustomStepScope<Solution_>
    - org.optaplanner.core.impl.exhaustivesearch.scope.ExhaustiveSearchStepScope<Solution_>
    - org.optaplanner.core.impl.localsearch.scope.LocalSearchStepScope<Solution_>
    - org.optaplanner.core.impl.partitionedsearch.scope.PartitionedSearchStepScope<Solution_>
  - org.optaplanner.core.impl.localsearch.decider.acceptor.tabu.size.AbstractTabuSizeStrategy (implements org.optaplanner.core.impl.localsearch.decider.acceptor.tabu.size.TabuSizeStrategy)
    - org.optaplanner.core.impl.localsearch.decider.acceptor.tabu.size.EntityRatioTabuSizeStrategy
    - org.optaplanner.core.impl.localsearch.decider.acceptor.tabu.size.FixedTabuSizeStrategy
    - org.optaplanner.core.impl.localsearch.decider.acceptor.tabu.size.ValueRatioTabuSizeStrategy
  - org.optaplanner.core.impl.domain.valuerange.AbstractUncountableValueRange<T> (implements java.io.Serializable, org.optaplanner.core.api.domain.valuerange.ValueRange<T>)
    - org.optaplanner.core.impl.domain.valuerange.buildin.primdouble.DoubleValueRange
  - org.optaplanner.core.impl.domain.valuerange.descriptor.AbstractValueRangeDescriptor<Solution_> (implements org.optaplanner.core.impl.domain.valuerange.descriptor.ValueRangeDescriptor<Solution_>)
    - org.optaplanner.core.impl.domain.valuerange.descriptor.AbstractFromPropertyValueRangeDescriptor<Solution_>
      - org.optaplanner.core.impl.domain.valuerange.descriptor.FromEntityPropertyValueRangeDescriptor<Solution_>
      - org.optaplanner.core.impl.domain.valuerange.descriptor.FromSolutionPropertyValueRangeDescriptor<Solution_> (implements org.optaplanner.core.impl.domain.valuerange.descriptor.EntityIndependentValueRangeDescriptor<Solution_>)
    - org.optaplanner.core.impl.domain.valuerange.descriptor.CompositeValueRangeDescriptor<Solution_> (implements org.optaplanner.core.impl.domain.valuerange.descriptor.EntityIndependentValueRangeDescriptor<Solution_>)
  - org.optaplanner.core.impl.domain.common.AlphabeticMemberComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - org.optaplanner.core.impl.domain.variable.anchor.AnchorVariableDemand (implements org.optaplanner.core.impl.domain.variable.supply.Demand<S>)
  - org.optaplanner.core.impl.domain.variable.anchor.AnchorVariableListener<Solution_> (implements org.optaplanner.core.impl.domain.variable.anchor.AnchorVariableSupply, org.optaplanner.core.impl.domain.variable.listener.VariableListener<Entity_>)
  - org.optaplanner.core.impl.score.stream.bavet.common.BavetAbstractNode (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetNode)
    - org.optaplanner.core.impl.score.stream.bavet.bi.BavetAbstractBiNode<A,​B>
      - org.optaplanner.core.impl.score.stream.bavet.bi.BavetFilterBiNode<A,​B>
      - org.optaplanner.core.impl.score.stream.bavet.bi.BavetGroupBiNode<GroupKey_,​ResultContainer_,​Result_>
      - org.optaplanner.core.impl.score.stream.bavet.bi.BavetJoinBiNode<A,​B> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinNode)
      - org.optaplanner.core.impl.score.stream.bavet.bi.BavetJoinBridgeBiNode<A,​B> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinBridgeNode)
      - org.optaplanner.core.impl.score.stream.bavet.bi.BavetScoringBiNode<A,​B> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetScoringNode)
    - org.optaplanner.core.impl.score.stream.bavet.tri.BavetAbstractTriNode<A,​B,​C>
      - org.optaplanner.core.impl.score.stream.bavet.tri.BavetFilterTriNode<A,​B,​C>
      - org.optaplanner.core.impl.score.stream.bavet.tri.BavetJoinTriNode<A,​B,​C> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinNode)
      - org.optaplanner.core.impl.score.stream.bavet.tri.BavetScoringTriNode<A,​B,​C> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetScoringNode)
    - org.optaplanner.core.impl.score.stream.bavet.uni.BavetAbstractUniNode<A>
      - org.optaplanner.core.impl.score.stream.bavet.uni.BavetFilterUniNode<A>
      - org.optaplanner.core.impl.score.stream.bavet.uni.BavetFromUniNode<A>
      - org.optaplanner.core.impl.score.stream.bavet.uni.BavetGroupBridgeUniNode<A,​NewA,​ResultContainer_,​NewB>
      - org.optaplanner.core.impl.score.stream.bavet.uni.BavetJoinBridgeUniNode<A> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinBridgeNode)
      - org.optaplanner.core.impl.score.stream.bavet.uni.BavetScoringUniNode<A> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetScoringNode)
  - org.optaplanner.core.impl.score.stream.bavet.common.BavetAbstractTuple (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetTuple)
    - org.optaplanner.core.impl.score.stream.bavet.bi.BavetAbstractBiTuple<A,​B>
      - org.optaplanner.core.impl.score.stream.bavet.bi.BavetFilterBiTuple<A,​B>
      - org.optaplanner.core.impl.score.stream.bavet.bi.BavetGroupBiTuple<GroupKey_,​ResultContainer_,​Result_> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetGroupTuple)
      - org.optaplanner.core.impl.score.stream.bavet.bi.BavetJoinBiTuple<A,​B> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinTuple)
      - org.optaplanner.core.impl.score.stream.bavet.bi.BavetJoinBridgeBiTuple<A,​B> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinBridgeTuple)
      - org.optaplanner.core.impl.score.stream.bavet.bi.BavetScoringBiTuple<A,​B> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetScoringTuple)
    - org.optaplanner.core.impl.score.stream.bavet.tri.BavetAbstractTriTuple<A,​B,​C>
      - org.optaplanner.core.impl.score.stream.bavet.tri.BavetFilterTriTuple<A,​B,​C>
      - org.optaplanner.core.impl.score.stream.bavet.tri.BavetJoinTriTuple<A,​B,​C> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinTuple)
      - org.optaplanner.core.impl.score.stream.bavet.tri.BavetScoringTriTuple<A,​B,​C> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetScoringTuple)
    - org.optaplanner.core.impl.score.stream.bavet.uni.BavetAbstractUniTuple<A>
      - org.optaplanner.core.impl.score.stream.bavet.uni.BavetFilterUniTuple<A>
      - org.optaplanner.core.impl.score.stream.bavet.uni.BavetFromUniTuple<A>
      - org.optaplanner.core.impl.score.stream.bavet.uni.BavetGroupBridgeUniTuple<A,​NewA,​ResultContainer_,​NewB>
      - org.optaplanner.core.impl.score.stream.bavet.uni.BavetJoinBridgeUniTuple<A> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinBridgeTuple)
      - org.optaplanner.core.impl.score.stream.bavet.uni.BavetScoringUniTuple<A> (implements org.optaplanner.core.impl.score.stream.bavet.common.BavetScoringTuple)
  - org.optaplanner.core.impl.score.stream.bavet.BavetConstraintFactory<Solution_> (implements org.optaplanner.core.impl.score.stream.InnerConstraintFactory<Solution_>)
  - org.optaplanner.core.impl.score.stream.bavet.BavetConstraintSession<Solution_> (implements org.optaplanner.core.impl.score.stream.ConstraintSession<Solution_>)
  - org.optaplanner.core.impl.score.stream.bavet.common.index.BavetIndex<Tuple_>
    - org.optaplanner.core.impl.score.stream.bavet.common.index.BavetEqualsAndComparisonIndex<Tuple_>
    - org.optaplanner.core.impl.score.stream.bavet.common.index.BavetEqualsIndex<Tuple_>
    - org.optaplanner.core.impl.score.stream.bavet.common.index.BavetNoneIndex<Tuple_>
  - org.optaplanner.core.impl.score.stream.bavet.common.index.BavetIndexFactory
  - org.optaplanner.core.impl.score.stream.bavet.common.index.BavetIndexKey
  - org.optaplanner.core.impl.score.stream.bavet.common.BavetNodeBuildPolicy<Solution_>
  - org.optaplanner.benchmark.impl.aggregator.BenchmarkAggregator
  - org.optaplanner.benchmark.impl.report.BenchmarkReport
  - org.optaplanner.benchmark.impl.result.BenchmarkResultIO
  - org.optaplanner.persistence.jpa.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreConverter (implements javax.persistence.AttributeConverter<X,​Y>)
  - org.optaplanner.persistence.jpa.api.score.buildin.bendablelong.BendableLongScoreConverter (implements javax.persistence.AttributeConverter<X,​Y>)
  - org.optaplanner.persistence.jpa.api.score.buildin.bendable.BendableScoreConverter (implements javax.persistence.AttributeConverter<X,​Y>)
  - org.optaplanner.core.impl.heuristic.selector.common.nearby.BetaDistributionNearbyRandom (implements org.optaplanner.core.impl.heuristic.selector.common.nearby.NearbyRandom)
  - org.optaplanner.core.impl.score.stream.drools.common.BiTuple<A,​B> (implements org.optaplanner.core.impl.score.stream.drools.common.FactTuple)
  - org.optaplanner.core.impl.heuristic.selector.common.nearby.BlockDistributionNearbyRandom (implements org.optaplanner.core.impl.heuristic.selector.common.nearby.NearbyRandom)
  - org.optaplanner.core.impl.exhaustivesearch.node.comparator.BreadthFirstNodeComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - org.optaplanner.core.impl.domain.lookup.ClassAndPlanningIdComparator (implements java.util.Comparator<T>)
  - org.optaplanner.core.impl.domain.variable.inverserelation.CollectionInverseVariableDemand (implements org.optaplanner.core.impl.domain.variable.supply.Demand<S>)
  - org.optaplanner.core.impl.domain.variable.inverserelation.CollectionInverseVariableListener (implements org.optaplanner.core.impl.domain.variable.inverserelation.CollectionInverseVariableSupply, org.optaplanner.core.impl.domain.variable.listener.VariableListener<Entity_>)
  - org.optaplanner.core.impl.heuristic.selector.common.decorator.ComparatorSelectionSorter<Solution_,​T> (implements org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionSorter<Solution_,​T>)
  - java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
    - java.awt.Container
      - javax.swing.JComponent (implements java.io.Serializable)
        - javax.swing.AbstractButton (implements java.awt.ItemSelectable, javax.swing.SwingConstants)
          - javax.swing.JToggleButton (implements javax.accessibility.Accessible)
            - javax.swing.JCheckBox (implements javax.accessibility.Accessible)
              - org.optaplanner.benchmark.impl.aggregator.swingui.MixedCheckBox
        - javax.swing.JTree (implements javax.accessibility.Accessible, javax.swing.Scrollable)
          - org.optaplanner.benchmark.impl.aggregator.swingui.CheckBoxTree
      - java.awt.Window (implements javax.accessibility.Accessible)
        - java.awt.Frame (implements java.awt.MenuContainer)
          - javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
            - org.optaplanner.benchmark.impl.aggregator.swingui.BenchmarkAggregatorFrame
  - org.optaplanner.core.impl.heuristic.move.CompositeMove<Solution_> (implements org.optaplanner.core.impl.heuristic.move.Move<Solution_>)
  - org.optaplanner.core.impl.heuristic.selector.common.decorator.CompositeSelectionFilter<Solution_,​T> (implements org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionFilter<Solution_,​T>)
  - org.optaplanner.core.config.util.ConfigUtils
  - org.optaplanner.core.api.score.stream.ConstraintCollectors
  - org.optaplanner.core.impl.domain.constraintweight.descriptor.ConstraintConfigurationDescriptor<Solution_>
  - org.optaplanner.core.api.score.constraint.ConstraintMatch (implements java.lang.Comparable<T>, java.io.Serializable)
  - org.optaplanner.core.api.score.constraint.ConstraintMatchScoreComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - org.optaplanner.core.api.score.constraint.ConstraintMatchTotal (implements java.lang.Comparable<T>, java.io.Serializable)
  - org.optaplanner.core.api.score.constraint.ConstraintMatchTotalScoreComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - org.optaplanner.core.impl.domain.constraintweight.descriptor.ConstraintWeightDescriptor<Solution_>
  - org.optaplanner.core.impl.constructionheuristic.decider.ConstructionHeuristicDecider<Solution_>
    - org.optaplanner.core.impl.constructionheuristic.decider.MultiThreadedConstructionHeuristicDecider<Solution_>
  - org.optaplanner.core.impl.domain.variable.custom.CustomShadowVariableDemand (implements org.optaplanner.core.impl.domain.variable.supply.Demand<S>)
  - org.optaplanner.core.impl.score.stream.bi.DefaultBiConstraintCollector<A,​B,​ResultContainer_,​Result_> (implements org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A,​B,​ResultContainer_,​Result_>)
  - org.optaplanner.test.impl.score.stream.DefaultConstraintVerifier<ConstraintProvider_,​Solution_> (implements org.optaplanner.test.api.score.stream.ConstraintVerifier<ConstraintProvider_,​Solution_>)
  - org.optaplanner.test.impl.score.stream.DefaultMultiConstraintAssertion<Solution_> (implements org.optaplanner.test.api.score.stream.MultiConstraintAssertion)
  - org.optaplanner.test.impl.score.stream.DefaultMultiConstraintVerification<Solution_> (implements org.optaplanner.test.api.score.stream.MultiConstraintVerification<Solution_>)
  - org.optaplanner.benchmark.impl.DefaultPlannerBenchmark (implements org.optaplanner.benchmark.api.PlannerBenchmark)
  - org.optaplanner.core.impl.score.stream.quad.DefaultQuadConstraintCollector<A,​B,​C,​D,​ResultContainer_,​Result_> (implements org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,​B,​C,​D,​ResultContainer_,​Result_>)
  - org.optaplanner.core.impl.solver.random.DefaultRandomFactory (implements org.optaplanner.core.impl.solver.random.RandomFactory)
  - org.optaplanner.core.impl.score.DefaultScoreManager<Solution_> (implements org.optaplanner.core.api.score.ScoreManager<Solution_>)
  - org.optaplanner.test.impl.score.stream.DefaultSingleConstraintAssertion<Solution_> (implements org.optaplanner.test.api.score.stream.SingleConstraintAssertion)
  - org.optaplanner.test.impl.score.stream.DefaultSingleConstraintVerification<Solution_> (implements org.optaplanner.test.api.score.stream.SingleConstraintVerification<Solution_>)
  - org.optaplanner.core.impl.solver.DefaultSolverJob<Solution_,​ProblemId_> (implements java.util.concurrent.Callable<V>, org.optaplanner.core.api.solver.SolverJob<Solution_,​ProblemId_>)
  - org.optaplanner.core.impl.solver.DefaultSolverManager<Solution_,​ProblemId_> (implements org.optaplanner.core.api.solver.SolverManager<Solution_,​ProblemId_>)
  - org.optaplanner.core.impl.solver.scope.DefaultSolverScope<Solution_>
  - org.optaplanner.core.impl.solver.thread.DefaultSolverThreadFactory (implements java.util.concurrent.ThreadFactory)
  - org.optaplanner.core.impl.score.stream.tri.DefaultTriConstraintCollector<A,​B,​C,​ResultContainer_,​Result_> (implements org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A,​B,​C,​ResultContainer_,​Result_>)
  - org.optaplanner.core.impl.score.stream.uni.DefaultUniConstraintCollector<A,​ResultContainer_,​Result_> (implements org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,​ResultContainer_,​Result_>)
  - org.optaplanner.core.impl.exhaustivesearch.node.comparator.DepthFirstNodeComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - org.optaplanner.core.impl.domain.policy.DescriptorPolicy
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsAbstractAccumulateFunction<ResultContainer_,​InTuple,​OutTuple> (implements org.kie.api.runtime.rule.AccumulateFunction<C>)
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsAbstractBiCollectingGroupByCollectorProcessor<ResultContainer1,​ResultContainer2,​InTuple,​KeyTuple,​OutTuple>
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsAbstractGroupBy<InTuple,​OutTuple> (implements java.io.Serializable)
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsAbstractGroupByAccumulator<InTuple> (implements org.drools.core.spi.Accumulator)
    - org.optaplanner.core.impl.score.stream.drools.bi.DroolsBiGroupByAccumulator<A,​B,​NewA,​NewB>
    - org.optaplanner.core.impl.score.stream.drools.bi.DroolsBiToQuadGroupByAccumulator<A,​B,​NewA,​NewB,​NewC,​NewD>
    - org.optaplanner.core.impl.score.stream.drools.bi.DroolsBiToTriGroupByAccumulator<A,​B,​NewA,​NewB,​NewC>
    - org.optaplanner.core.impl.score.stream.drools.quad.DroolsQuadGroupByAccumulator<A,​B,​C,​D,​NewA,​NewB,​NewC,​NewD>
    - org.optaplanner.core.impl.score.stream.drools.quad.DroolsQuadToBiGroupByAccumulator<A,​B,​C,​D,​NewA,​NewB>
    - org.optaplanner.core.impl.score.stream.drools.quad.DroolsQuadToTriGroupByAccumulator<A,​B,​C,​D,​NewA,​NewB,​NewC>
    - org.optaplanner.core.impl.score.stream.drools.tri.DroolsTriGroupByAccumulator<A,​B,​C,​NewA,​NewB,​NewC>
    - org.optaplanner.core.impl.score.stream.drools.tri.DroolsTriToBiGroupByAccumulator<A,​B,​C,​NewA,​NewB>
    - org.optaplanner.core.impl.score.stream.drools.tri.DroolsTriToQuadGroupByAccumulator<A,​B,​C,​NewA,​NewB,​NewC,​NewD>
    - org.optaplanner.core.impl.score.stream.drools.uni.DroolsUniToBiGroupByAccumulator<A,​NewA,​NewB>
    - org.optaplanner.core.impl.score.stream.drools.uni.DroolsUniToQuadGroupByAccumulator<A,​NewA,​NewB,​NewC,​NewD>
    - org.optaplanner.core.impl.score.stream.drools.uni.DroolsUniToTriGroupByAccumulator<A,​NewA,​NewB,​NewC>
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsAbstractUniCollectingGroupByCollectorProcessor<ResultContainer,​InTuple,​KeyTuple,​OutTuple>
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsAccumulateContext<ResultContainer_> (implements java.io.Serializable)
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsCondition<PatternVar,​T>
    - org.optaplanner.core.impl.score.stream.drools.bi.DroolsBiCondition<A,​B,​PatternVar>
    - org.optaplanner.core.impl.score.stream.drools.quad.DroolsQuadCondition<A,​B,​C,​D,​PatternVar>
    - org.optaplanner.core.impl.score.stream.drools.tri.DroolsTriCondition<A,​B,​C,​PatternVar>
    - org.optaplanner.core.impl.score.stream.drools.uni.DroolsUniCondition<A,​PatternVar>
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsCondition.ImmediatelyPreviousFilter<PredicateType>
  - org.optaplanner.core.impl.score.stream.drools.DroolsConstraintFactory<Solution_> (implements org.optaplanner.core.impl.score.stream.InnerConstraintFactory<Solution_>)
  - org.optaplanner.core.impl.score.stream.drools.DroolsConstraintSession<Solution_> (implements org.optaplanner.core.impl.score.stream.ConstraintSession<Solution_>)
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsPatternBuilder<T>
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsRuleStructure<PatternVar>
    - org.optaplanner.core.impl.score.stream.drools.bi.DroolsBiRuleStructure<A,​B,​PatternVar>
    - org.optaplanner.core.impl.score.stream.drools.quad.DroolsQuadRuleStructure<A,​B,​C,​D,​PatternVar>
    - org.optaplanner.core.impl.score.stream.drools.tri.DroolsTriRuleStructure<A,​B,​C,​PatternVar>
    - org.optaplanner.core.impl.score.stream.drools.uni.DroolsUniRuleStructure<A,​PatternVar>
  - org.optaplanner.core.impl.domain.entity.descriptor.EntityDescriptor<Solution_>
  - org.optaplanner.core.impl.domain.lookup.EqualsLookUpStrategy (implements org.optaplanner.core.impl.domain.lookup.LookUpStrategy)
  - java.util.EventObject (implements java.io.Serializable)
    - org.optaplanner.core.api.solver.event.BestSolutionChangedEvent<Solution_>
  - org.optaplanner.core.impl.exhaustivesearch.decider.ExhaustiveSearchDecider<Solution_> (implements org.optaplanner.core.impl.exhaustivesearch.event.ExhaustiveSearchPhaseLifecycleListener<Solution_>)
  - org.optaplanner.core.impl.exhaustivesearch.node.ExhaustiveSearchLayer
  - org.optaplanner.core.impl.exhaustivesearch.node.ExhaustiveSearchNode
  - org.optaplanner.core.impl.domain.variable.anchor.ExternalizedAnchorVariableSupply (implements org.optaplanner.core.impl.domain.variable.anchor.AnchorVariableSupply, org.optaplanner.core.impl.domain.variable.listener.SourcedVariableListener<Entity_>)
  - org.optaplanner.core.impl.domain.variable.inverserelation.ExternalizedCollectionInverseVariableSupply (implements org.optaplanner.core.impl.domain.variable.inverserelation.CollectionInverseVariableSupply, org.optaplanner.core.impl.domain.variable.listener.SourcedVariableListener<Entity_>)
  - org.optaplanner.core.impl.domain.variable.inverserelation.ExternalizedSingletonInverseVariableSupply (implements org.optaplanner.core.impl.domain.variable.inverserelation.SingletonInverseVariableSupply, org.optaplanner.core.impl.domain.variable.listener.SourcedVariableListener<Entity_>)
  - org.optaplanner.core.impl.heuristic.selector.common.decorator.FairSelectorProbabilityWeightFactory<Solution_> (implements org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionProbabilityWeightFactory<Solution_,​T>)
  - org.optaplanner.core.impl.domain.solution.cloner.FieldAccessingSolutionCloner<Solution_> (implements org.optaplanner.core.api.domain.solution.cloner.SolutionCloner<Solution_>)
  - org.optaplanner.core.impl.domain.solution.cloner.FieldAccessingSolutionCloner.FieldAccessingSolutionClonerRun
  - org.optaplanner.core.impl.domain.solution.cloner.FieldAccessingSolutionCloner.Unprocessed
  - org.optaplanner.benchmark.impl.loader.FileProblemProvider<Solution_> (implements org.optaplanner.benchmark.impl.loader.ProblemProvider<Solution_>)
  - org.optaplanner.core.impl.heuristic.selector.common.decorator.FixedSelectorProbabilityWeightFactory<Solution_,​Selector_> (implements org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionProbabilityWeightFactory<Solution_,​T>)
  - org.optaplanner.core.impl.score.comparator.FlatteningHardSoftScoreComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - java.text.Format (implements java.lang.Cloneable, java.io.Serializable)
    - java.text.NumberFormat
      - org.optaplanner.benchmark.impl.statistic.common.MillisecondsSpentNumberFormat
  - org.optaplanner.benchmark.impl.statistic.common.GraphSupport
  - org.optaplanner.persistence.jpa.api.score.buildin.hardmediumsoftbigdecimal.HardMediumSoftBigDecimalScoreConverter (implements javax.persistence.AttributeConverter<X,​Y>)
  - org.optaplanner.persistence.jpa.api.score.buildin.hardmediumsoftlong.HardMediumSoftLongScoreConverter (implements javax.persistence.AttributeConverter<X,​Y>)
  - org.optaplanner.persistence.jpa.api.score.buildin.hardmediumsoft.HardMediumSoftScoreConverter (implements javax.persistence.AttributeConverter<X,​Y>)
  - org.optaplanner.persistence.jpa.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreConverter (implements javax.persistence.AttributeConverter<X,​Y>)
  - org.optaplanner.persistence.jpa.api.score.buildin.hardsoftlong.HardSoftLongScoreConverter (implements javax.persistence.AttributeConverter<X,​Y>)
  - org.optaplanner.persistence.jpa.api.score.buildin.hardsoft.HardSoftScoreConverter (implements javax.persistence.AttributeConverter<X,​Y>)
  - org.optaplanner.core.config.heuristic.policy.HeuristicConfigPolicy
  - org.optaplanner.core.impl.domain.lookup.ImmutableLookUpStrategy (implements org.optaplanner.core.impl.domain.lookup.LookUpStrategy)
  - org.optaplanner.core.api.score.constraint.Indictment (implements java.lang.Comparable<T>, java.io.Serializable)
  - org.optaplanner.core.api.score.constraint.IndictmentScoreComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - org.optaplanner.core.api.score.constraint.IndictmentScoreTotalComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - org.optaplanner.core.impl.score.trend.InitializingScoreTrend (implements java.io.Serializable)
  - org.optaplanner.benchmark.impl.loader.InstanceProblemProvider<Solution_> (implements org.optaplanner.benchmark.impl.loader.ProblemProvider<Solution_>)
  - org.optaplanner.persistence.jaxb.impl.domain.solution.JaxbSolutionFileIO<Solution_> (implements org.optaplanner.persistence.common.api.domain.solution.SolutionFileIO<Solution_>)
  - org.optaplanner.core.api.score.stream.Joiners
  - com.fasterxml.jackson.databind.JsonDeserializer<T> (implements com.fasterxml.jackson.databind.deser.NullValueProvider)
    - org.optaplanner.persistence.jackson.api.score.AbstractScoreJacksonJsonDeserializer<Score_>
      - org.optaplanner.persistence.jackson.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreJacksonJsonDeserializer
      - org.optaplanner.persistence.jackson.api.score.buildin.bendablelong.BendableLongScoreJacksonJsonDeserializer
      - org.optaplanner.persistence.jackson.api.score.buildin.bendable.BendableScoreJacksonJsonDeserializer
      - org.optaplanner.persistence.jackson.api.score.buildin.hardmediumsoftbigdecimal.HardMediumSoftBigDecimalScoreJacksonJsonDeserializer
      - org.optaplanner.persistence.jackson.api.score.buildin.hardmediumsoftlong.HardMediumSoftLongScoreJacksonJsonDeserializer
      - org.optaplanner.persistence.jackson.api.score.buildin.hardmediumsoft.HardMediumSoftScoreJacksonJsonDeserializer
      - org.optaplanner.persistence.jackson.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreJacksonJsonDeserializer
      - org.optaplanner.persistence.jackson.api.score.buildin.hardsoftdouble.HardSoftDoubleScoreJacksonJsonDeserializer
      - org.optaplanner.persistence.jackson.api.score.buildin.hardsoftlong.HardSoftLongScoreJacksonJsonDeserializer
      - org.optaplanner.persistence.jackson.api.score.buildin.hardsoft.HardSoftScoreJacksonJsonDeserializer
      - org.optaplanner.persistence.jackson.api.score.buildin.simplebigdecimal.SimpleBigDecimalScoreJacksonJsonDeserializer
      - org.optaplanner.persistence.jackson.api.score.buildin.simpledouble.SimpleDoubleScoreJacksonJsonDeserializer
      - org.optaplanner.persistence.jackson.api.score.buildin.simplelong.SimpleLongScoreJacksonJsonDeserializer
      - org.optaplanner.persistence.jackson.api.score.buildin.simple.SimpleScoreJacksonJsonDeserializer
    - org.optaplanner.persistence.jackson.api.score.PolymorphicScoreJacksonJsonDeserializer
  - com.fasterxml.jackson.databind.JsonSerializer<T> (implements com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable)
    - org.optaplanner.persistence.jackson.api.score.AbstractScoreJacksonJsonSerializer<Score_> (implements com.fasterxml.jackson.databind.ser.ContextualSerializer)
      - org.optaplanner.persistence.jackson.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreJacksonJsonSerializer
      - org.optaplanner.persistence.jackson.api.score.buildin.bendablelong.BendableLongScoreJacksonJsonSerializer
      - org.optaplanner.persistence.jackson.api.score.buildin.bendable.BendableScoreJacksonJsonSerializer
      - org.optaplanner.persistence.jackson.api.score.buildin.hardmediumsoftbigdecimal.HardMediumSoftBigDecimalScoreJacksonJsonSerializer
      - org.optaplanner.persistence.jackson.api.score.buildin.hardmediumsoftlong.HardMediumSoftLongScoreJacksonJsonSerializer
      - org.optaplanner.persistence.jackson.api.score.buildin.hardmediumsoft.HardMediumSoftScoreJacksonJsonSerializer
      - org.optaplanner.persistence.jackson.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreJacksonJsonSerializer
      - org.optaplanner.persistence.jackson.api.score.buildin.hardsoftdouble.HardSoftDoubleScoreJacksonJsonSerializer
      - org.optaplanner.persistence.jackson.api.score.buildin.hardsoftlong.HardSoftLongScoreJacksonJsonSerializer
      - org.optaplanner.persistence.jackson.api.score.buildin.hardsoft.HardSoftScoreJacksonJsonSerializer
      - org.optaplanner.persistence.jackson.api.score.buildin.simplebigdecimal.SimpleBigDecimalScoreJacksonJsonSerializer
      - org.optaplanner.persistence.jackson.api.score.buildin.simpledouble.SimpleDoubleScoreJacksonJsonSerializer
      - org.optaplanner.persistence.jackson.api.score.buildin.simplelong.SimpleLongScoreJacksonJsonSerializer
      - org.optaplanner.persistence.jackson.api.score.buildin.simple.SimpleScoreJacksonJsonSerializer
    - org.optaplanner.persistence.jackson.api.score.PolymorphicScoreJacksonJsonSerializer
    - org.optaplanner.persistence.jackson.api.score.ScoreJacksonJsonSerializer<Score_> (implements com.fasterxml.jackson.databind.ser.ContextualSerializer)
  - org.optaplanner.core.config.util.KeyAsElementMapConverter (implements com.thoughtworks.xstream.converters.Converter)
  - org.optaplanner.core.impl.solver.kie.KieSolverAssemblerService (implements org.kie.api.internal.assembler.KieAssemblerService)
  - org.optaplanner.core.impl.domain.common.accessor.LambdaBeanPropertyMemberAccessor (implements org.optaplanner.core.impl.domain.common.accessor.MemberAccessor)
  - org.optaplanner.core.impl.heuristic.selector.common.nearby.LinearDistributionNearbyRandom (implements org.optaplanner.core.impl.heuristic.selector.common.nearby.NearbyRandom)
  - org.optaplanner.core.impl.localsearch.decider.LocalSearchDecider<Solution_>
    - org.optaplanner.core.impl.localsearch.decider.MultiThreadedLocalSearchDecider<Solution_>
  - org.optaplanner.core.impl.domain.lookup.LookUpManager
  - org.optaplanner.core.impl.domain.lookup.LookUpStrategyResolver
  - org.optaplanner.core.impl.heuristic.selector.entity.mimic.ManualEntityMimicRecorder (implements org.optaplanner.core.impl.heuristic.selector.entity.mimic.EntityMimicRecorder)
  - org.optaplanner.core.impl.domain.common.accessor.MemberAccessorFactory
  - org.optaplanner.benchmark.impl.statistic.memoryuse.MemoryUseMeasurement
  - org.optaplanner.core.impl.heuristic.selector.value.decorator.MovableChainedTrailingValueFilter<Solution_> (implements org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionFilter<Solution_,​T>)
  - org.optaplanner.benchmark.impl.statistic.movecountperstep.MoveCountPerStepMeasurement
  - org.optaplanner.core.impl.heuristic.thread.MoveThreadOperation<Solution_>
    - org.optaplanner.core.impl.heuristic.thread.ApplyStepOperation<Solution_>
    - org.optaplanner.core.impl.heuristic.thread.DestroyOperation<Solution_>
    - org.optaplanner.core.impl.heuristic.thread.MoveEvaluationOperation<Solution_>
    - org.optaplanner.core.impl.heuristic.thread.SetupOperation<Solution_>
  - org.optaplanner.core.impl.heuristic.thread.MoveThreadRunner<Solution_> (implements java.lang.Runnable)
  - org.optaplanner.core.impl.domain.solution.mutation.MutationCounter<Solution_>
  - org.optaplanner.core.api.score.comparator.NaturalScoreComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - org.optaplanner.core.impl.heuristic.selector.common.nearby.NearbyDistanceMatrix
  - org.optaplanner.core.impl.domain.lookup.NoneLookUpStrategy (implements org.optaplanner.core.impl.domain.lookup.LookUpStrategy)
  - org.optaplanner.core.impl.heuristic.selector.entity.decorator.NullValueReinitializeVariableEntityFilter<Solution_> (implements org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionFilter<Solution_,​T>)
  - org.optaplanner.benchmark.impl.cli.OptaPlannerBenchmarkCli
  - org.optaplanner.persistence.jackson.api.OptaPlannerJacksonModule
  - org.optaplanner.persistence.jsonb.api.OptaPlannerJsonbConfig
  - org.optaplanner.core.impl.score.director.drools.OptaPlannerRuleEventListener (implements org.kie.internal.event.rule.RuleEventListener)
  - org.optaplanner.core.impl.exhaustivesearch.node.comparator.OptimisticBoundFirstNodeComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - org.optaplanner.core.impl.heuristic.thread.OrderByMoveIndexBlockingQueue<Solution_>
  - org.optaplanner.core.impl.heuristic.thread.OrderByMoveIndexBlockingQueue.MoveResult<Solution_>
  - org.optaplanner.core.impl.exhaustivesearch.node.comparator.OriginalOrderNodeComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - org.optaplanner.core.impl.heuristic.selector.common.nearby.ParabolicDistributionNearbyRandom (implements org.optaplanner.core.impl.heuristic.selector.common.nearby.NearbyRandom)
  - org.optaplanner.core.impl.partitionedsearch.queue.PartitionChangedEvent<Solution_>
  - org.optaplanner.core.impl.partitionedsearch.queue.PartitionQueue<Solution_> (implements java.lang.Iterable<T>)
  - org.optaplanner.core.impl.heuristic.selector.entity.decorator.PinEntityFilter<Solution_> (implements org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionFilter<Solution_,​T>)
  - org.optaplanner.core.impl.constructionheuristic.placer.Placement<Solution_> (implements java.lang.Iterable<T>)
  - org.optaplanner.benchmark.config.PlannerBenchmarkConfig
  - org.optaplanner.benchmark.api.PlannerBenchmarkFactory
    - org.optaplanner.benchmark.impl.DefaultPlannerBenchmarkFactory
  - org.optaplanner.benchmark.impl.result.PlannerBenchmarkResult
  - org.optaplanner.core.impl.domain.lookup.PlanningIdLookUpStrategy (implements org.optaplanner.core.impl.domain.lookup.LookUpStrategy)
  - org.optaplanner.benchmark.impl.result.ProblemBenchmarkResult<Solution_>
  - org.optaplanner.benchmark.impl.statistic.ProblemStatistic
    - org.optaplanner.benchmark.impl.statistic.bestscore.BestScoreProblemStatistic
    - org.optaplanner.benchmark.impl.statistic.bestsolutionmutation.BestSolutionMutationProblemStatistic
    - org.optaplanner.benchmark.impl.statistic.memoryuse.MemoryUseProblemStatistic
    - org.optaplanner.benchmark.impl.statistic.movecountperstep.MoveCountPerStepProblemStatistic
    - org.optaplanner.benchmark.impl.statistic.scorecalculationspeed.ScoreCalculationSpeedProblemStatistic
    - org.optaplanner.benchmark.impl.statistic.stepscore.StepScoreProblemStatistic
  - org.optaplanner.core.impl.score.stream.drools.common.QuadTuple<A,​B,​C,​D> (implements org.optaplanner.core.impl.score.stream.drools.common.FactTuple)
  - org.optaplanner.core.impl.solver.random.RandomUtils
  - org.optaplanner.core.impl.domain.common.accessor.ReflectionBeanPropertyMemberAccessor (implements org.optaplanner.core.impl.domain.common.accessor.MemberAccessor)
  - org.optaplanner.core.impl.domain.common.accessor.ReflectionFieldMemberAccessor (implements org.optaplanner.core.impl.domain.common.accessor.MemberAccessor)
  - org.optaplanner.core.impl.domain.common.ReflectionHelper
  - org.optaplanner.core.impl.domain.common.accessor.ReflectionMethodMemberAccessor (implements org.optaplanner.core.impl.domain.common.accessor.MemberAccessor)
  - org.optaplanner.core.config.domain.ReflectionsKieVfsUrlType (implements org.reflections.vfs.Vfs.UrlType)
  - org.optaplanner.core.config.domain.ReflectionsKieVfsUrlType.ReflectionsKieVfsDir (implements org.reflections.vfs.Vfs.Dir)
  - org.optaplanner.core.config.domain.ReflectionsKieVfsUrlType.ReflectionsKieVfsFile (implements org.reflections.vfs.Vfs.File)
  - org.optaplanner.core.config.domain.ReflectionsWorkaroundClasspathHelper
  - org.optaplanner.benchmark.impl.report.ReportHelper
  - org.optaplanner.core.impl.util.RhinoJavaScriptPoolSizer (implements java.util.function.IntSupplier)
  - org.optaplanner.benchmark.impl.measurement.ScoreDifferencePercentage (implements java.io.Serializable)
  - org.optaplanner.core.impl.exhaustivesearch.node.comparator.ScoreFirstNodeComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - org.optaplanner.core.impl.score.inliner.ScoreInliner<Score_>
    - org.optaplanner.core.impl.score.buildin.bendablebigdecimal.BendableBigDecimalScoreInliner
    - org.optaplanner.core.impl.score.buildin.bendablelong.BendableLongScoreInliner
    - org.optaplanner.core.impl.score.buildin.bendable.BendableScoreInliner
    - org.optaplanner.core.impl.score.buildin.hardmediumsoftbigdecimal.HardMediumSoftBigDecimalScoreInliner
    - org.optaplanner.core.impl.score.buildin.hardmediumsoftlong.HardMediumSoftLongScoreInliner
    - org.optaplanner.core.impl.score.buildin.hardmediumsoft.HardMediumSoftScoreInliner
    - org.optaplanner.core.impl.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreInliner
    - org.optaplanner.core.impl.score.buildin.hardsoftlong.HardSoftLongScoreInliner
    - org.optaplanner.core.impl.score.buildin.hardsoft.HardSoftScoreInliner
    - org.optaplanner.core.impl.score.buildin.simplebigdecimal.SimpleBigDecimalScoreInliner
    - org.optaplanner.core.impl.score.buildin.simplelong.SimpleLongScoreInliner
    - org.optaplanner.core.impl.score.buildin.simple.SimpleScoreInliner
  - org.optaplanner.benchmark.impl.ranking.ScoreSubSingleBenchmarkRankingComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - org.optaplanner.core.impl.score.ScoreUtils
  - org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleBridge (implements org.optaplanner.core.impl.phase.event.PhaseLifecycleListener<Solution_>)
  - org.optaplanner.core.impl.heuristic.selector.common.iterator.SelectionIterator<S> (implements java.util.Iterator<E>)
    - org.optaplanner.core.impl.heuristic.selector.common.iterator.CachedListRandomIterator<S>
    - org.optaplanner.core.impl.heuristic.selector.move.composite.CartesianProductMoveSelector.RandomCartesianProductMoveIterator
    - org.optaplanner.core.impl.heuristic.selector.move.composite.UnionMoveSelector.RandomUnionMoveIterator
    - org.optaplanner.core.impl.heuristic.selector.common.iterator.UpcomingSelectionIterator<S>
      - org.optaplanner.core.impl.heuristic.selector.common.iterator.AbstractOriginalChangeIterator<S>
      - org.optaplanner.core.impl.heuristic.selector.common.iterator.AbstractOriginalSwapIterator<S,​SubS>
      - org.optaplanner.core.impl.heuristic.selector.common.iterator.AbstractRandomChangeIterator<S>
      - org.optaplanner.core.impl.heuristic.selector.common.iterator.AbstractRandomSwapIterator<S,​SubS>
      - org.optaplanner.core.impl.heuristic.selector.move.composite.CartesianProductMoveSelector.OriginalCartesianProductMoveIterator
      - org.optaplanner.core.impl.heuristic.selector.entity.decorator.FilteringEntitySelector.JustInTimeFilteringEntityIterator
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.FilteringValueSelector.JustInTimeFilteringValueIterator
      - org.optaplanner.core.impl.heuristic.selector.value.decorator.InitializedValueSelector.JustInTimeInitializedValueIterator
  - org.optaplanner.core.impl.heuristic.selector.common.iterator.SelectionListIterator<S> (implements java.util.ListIterator<E>)
  - org.optaplanner.persistence.jpa.api.score.buildin.simplebigdecimal.SimpleBigDecimalScoreConverter (implements javax.persistence.AttributeConverter<X,​Y>)
  - org.optaplanner.persistence.jpa.api.score.buildin.simplelong.SimpleLongScoreConverter (implements javax.persistence.AttributeConverter<X,​Y>)
  - org.optaplanner.persistence.jpa.api.score.buildin.simple.SimpleScoreConverter (implements javax.persistence.AttributeConverter<X,​Y>)
  - org.optaplanner.benchmark.impl.result.SingleBenchmarkResult (implements org.optaplanner.benchmark.impl.result.BenchmarkResult)
  - org.optaplanner.core.impl.domain.variable.inverserelation.SingletonInverseVariableDemand (implements org.optaplanner.core.impl.domain.variable.supply.Demand<S>)
  - org.optaplanner.core.impl.domain.variable.inverserelation.SingletonInverseVariableListener (implements org.optaplanner.core.impl.domain.variable.inverserelation.SingletonInverseVariableSupply, org.optaplanner.core.impl.domain.variable.listener.VariableListener<Entity_>)
  - org.optaplanner.core.impl.heuristic.selector.common.iterator.SingletonIterator<T> (implements java.util.ListIterator<E>)
  - org.optaplanner.core.impl.domain.variable.listener.support.SmallScalingOrderedSet<E> (implements java.util.Set<E>)
  - org.optaplanner.core.impl.domain.solution.descriptor.SolutionDescriptor<Solution_>
  - org.optaplanner.benchmark.config.blueprint.SolverBenchmarkBluePrintConfig
  - org.optaplanner.benchmark.impl.result.SolverBenchmarkResult
  - org.optaplanner.core.config.SolverConfigContext
  - org.optaplanner.core.api.solver.SolverFactory<Solution_>
    - org.optaplanner.core.impl.solver.DefaultSolverFactory<Solution_>
  - org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdapter<Solution_> (implements org.optaplanner.core.impl.solver.event.SolverLifecycleListener<Solution_>)
    - org.optaplanner.core.impl.constructionheuristic.event.ConstructionHeuristicPhaseLifecycleListenerAdapter<Solution_> (implements org.optaplanner.core.impl.constructionheuristic.event.ConstructionHeuristicPhaseLifecycleListener<Solution_>)
      - org.optaplanner.core.impl.constructionheuristic.decider.forager.AbstractConstructionHeuristicForager (implements org.optaplanner.core.impl.constructionheuristic.decider.forager.ConstructionHeuristicForager)
        - org.optaplanner.core.impl.constructionheuristic.decider.forager.DefaultConstructionHeuristicForager
    - org.optaplanner.core.impl.localsearch.event.LocalSearchPhaseLifecycleListenerAdapter<Solution_> (implements org.optaplanner.core.impl.localsearch.event.LocalSearchPhaseLifecycleListener<Solution_>)
      - org.optaplanner.core.impl.localsearch.decider.acceptor.AbstractAcceptor (implements org.optaplanner.core.impl.localsearch.decider.acceptor.Acceptor)
        - org.optaplanner.core.impl.localsearch.decider.acceptor.tabu.AbstractTabuAcceptor
          - org.optaplanner.core.impl.localsearch.decider.acceptor.tabu.EntityTabuAcceptor
          - org.optaplanner.core.impl.localsearch.decider.acceptor.tabu.MoveTabuAcceptor
          - org.optaplanner.core.impl.localsearch.decider.acceptor.tabu.SolutionTabuAcceptor
          - org.optaplanner.core.impl.localsearch.decider.acceptor.tabu.ValueTabuAcceptor
        - org.optaplanner.core.impl.localsearch.decider.acceptor.CompositeAcceptor
        - org.optaplanner.core.impl.localsearch.decider.acceptor.greatdeluge.GreatDelugeAcceptor
        - org.optaplanner.core.impl.localsearch.decider.acceptor.hillclimbing.HillClimbingAcceptor
        - org.optaplanner.core.impl.localsearch.decider.acceptor.lateacceptance.LateAcceptanceAcceptor
        - org.optaplanner.core.impl.localsearch.decider.acceptor.simulatedannealing.SimulatedAnnealingAcceptor
        - org.optaplanner.core.impl.localsearch.decider.acceptor.stepcountinghillclimbing.StepCountingHillClimbingAcceptor
      - org.optaplanner.core.impl.localsearch.decider.forager.finalist.AbstractFinalistPodium (implements org.optaplanner.core.impl.localsearch.decider.forager.finalist.FinalistPodium)
        - org.optaplanner.core.impl.localsearch.decider.forager.finalist.HighestScoreFinalistPodium
        - org.optaplanner.core.impl.localsearch.decider.forager.finalist.StrategicOscillationByLevelFinalistPodium
      - org.optaplanner.core.impl.localsearch.decider.forager.AbstractLocalSearchForager (implements org.optaplanner.core.impl.localsearch.decider.forager.LocalSearchForager)
        - org.optaplanner.core.impl.localsearch.decider.forager.AcceptedLocalSearchForager
    - org.optaplanner.core.impl.phase.event.PhaseLifecycleListenerAdapter<Solution_> (implements org.optaplanner.core.impl.phase.event.PhaseLifecycleListener<Solution_>)
      - org.optaplanner.core.impl.solver.termination.AbstractTermination (implements org.optaplanner.core.impl.solver.termination.Termination)
        - org.optaplanner.core.impl.solver.termination.AbstractCompositeTermination
          - org.optaplanner.core.impl.solver.termination.AndCompositeTermination
          - org.optaplanner.core.impl.solver.termination.OrCompositeTermination
        - org.optaplanner.core.impl.solver.termination.BasicPlumbingTermination
        - org.optaplanner.core.impl.solver.termination.BestScoreFeasibleTermination
        - org.optaplanner.core.impl.solver.termination.BestScoreTermination
        - org.optaplanner.core.impl.solver.termination.ChildThreadPlumbingTermination
        - org.optaplanner.core.impl.solver.termination.PhaseToSolverTerminationBridge
        - org.optaplanner.core.impl.solver.termination.ScoreCalculationCountTermination
        - org.optaplanner.core.impl.solver.termination.StepCountTermination
        - org.optaplanner.core.impl.solver.termination.TimeMillisSpentTermination
        - org.optaplanner.core.impl.solver.termination.UnimprovedStepCountTermination
        - org.optaplanner.core.impl.solver.termination.UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination
        - org.optaplanner.core.impl.solver.termination.UnimprovedTimeMillisSpentTermination
      - org.optaplanner.core.impl.solver.recaller.BestSolutionRecaller<Solution_>
  - org.optaplanner.benchmark.impl.statistic.StatisticPoint
    - org.optaplanner.benchmark.impl.statistic.bestscore.BestScoreStatisticPoint
    - org.optaplanner.benchmark.impl.statistic.bestsolutionmutation.BestSolutionMutationStatisticPoint
    - org.optaplanner.benchmark.impl.statistic.subsingle.constraintmatchtotalbestscore.ConstraintMatchTotalBestScoreStatisticPoint
    - org.optaplanner.benchmark.impl.statistic.subsingle.constraintmatchtotalstepscore.ConstraintMatchTotalStepScoreStatisticPoint
    - org.optaplanner.benchmark.impl.statistic.memoryuse.MemoryUseStatisticPoint
    - org.optaplanner.benchmark.impl.statistic.movecountperstep.MoveCountPerStepStatisticPoint
    - org.optaplanner.benchmark.impl.statistic.subsingle.pickedmovetypebestscore.PickedMoveTypeBestScoreDiffStatisticPoint
    - org.optaplanner.benchmark.impl.statistic.subsingle.pickedmovetypestepscore.PickedMoveTypeStepScoreDiffStatisticPoint
    - org.optaplanner.benchmark.impl.statistic.scorecalculationspeed.ScoreCalculationSpeedStatisticPoint
    - org.optaplanner.benchmark.impl.statistic.stepscore.StepScoreStatisticPoint
  - org.optaplanner.benchmark.impl.statistic.StatisticUtils
  - org.optaplanner.core.impl.heuristic.selector.value.chained.SubChain
  - org.optaplanner.core.config.heuristic.selector.entity.pillar.SubPillarConfigPolicy
  - org.optaplanner.benchmark.impl.ranking.SubSingleBenchmarkRankBasedComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - org.optaplanner.benchmark.impl.result.SubSingleBenchmarkResult (implements org.optaplanner.benchmark.impl.result.BenchmarkResult)
  - org.optaplanner.benchmark.impl.SubSingleBenchmarkRunner<Solution_> (implements java.util.concurrent.Callable<V>)
  - org.optaplanner.benchmark.impl.statistic.SubSingleStatistic<Solution_,​StatisticPoint_>
    - org.optaplanner.benchmark.impl.statistic.ProblemBasedSubSingleStatistic<Solution_,​StatisticPoint_>
      - org.optaplanner.benchmark.impl.statistic.bestscore.BestScoreSubSingleStatistic<Solution_>
      - org.optaplanner.benchmark.impl.statistic.bestsolutionmutation.BestSolutionMutationSubSingleStatistic<Solution_>
      - org.optaplanner.benchmark.impl.statistic.memoryuse.MemoryUseSubSingleStatistic<Solution_>
      - org.optaplanner.benchmark.impl.statistic.movecountperstep.MoveCountPerStepSubSingleStatistic<Solution_>
      - org.optaplanner.benchmark.impl.statistic.scorecalculationspeed.ScoreCalculationSpeedSubSingleStatistic<Solution_>
      - org.optaplanner.benchmark.impl.statistic.stepscore.StepScoreSubSingleStatistic<Solution_>
    - org.optaplanner.benchmark.impl.statistic.PureSubSingleStatistic<Solution_,​StatisticPoint_>
      - org.optaplanner.benchmark.impl.statistic.subsingle.constraintmatchtotalbestscore.ConstraintMatchTotalBestScoreSubSingleStatistic<Solution_>
      - org.optaplanner.benchmark.impl.statistic.subsingle.constraintmatchtotalstepscore.ConstraintMatchTotalStepScoreSubSingleStatistic<Solution_>
      - org.optaplanner.benchmark.impl.statistic.subsingle.pickedmovetypebestscore.PickedMoveTypeBestScoreDiffSubSingleStatistic<Solution_>
      - org.optaplanner.benchmark.impl.statistic.subsingle.pickedmovetypestepscore.PickedMoveTypeStepScoreDiffSubSingleStatistic<Solution_>
  - org.optaplanner.swing.impl.SwingUncaughtExceptionHandler (implements java.lang.Thread.UncaughtExceptionHandler)
  - org.optaplanner.swing.impl.SwingUtils
  - org.optaplanner.swing.impl.TangoColorFactory
  - org.optaplanner.core.impl.score.director.drools.testgen.reproducer.TestGenCorruptedScoreReproducer (implements org.optaplanner.core.impl.score.director.drools.testgen.TestGenKieSessionListener, org.optaplanner.core.impl.score.director.drools.testgen.reproducer.TestGenOriginalProblemReproducer)
  - org.optaplanner.core.impl.score.director.drools.testgen.reproducer.TestGenCorruptedVariableListenerReproducer (implements org.optaplanner.core.impl.score.director.drools.testgen.TestGenKieSessionListener, org.optaplanner.core.impl.score.director.drools.testgen.reproducer.TestGenOriginalProblemReproducer)
  - org.optaplanner.core.impl.score.director.drools.testgen.reproducer.TestGenDroolsExceptionReproducer (implements org.optaplanner.core.impl.score.director.drools.testgen.reproducer.TestGenOriginalProblemReproducer)
  - org.optaplanner.core.impl.score.director.drools.testgen.fact.TestGenFactField (implements java.lang.Comparable<T>)
  - org.optaplanner.core.impl.score.director.drools.testgen.mutation.TestGenHeadCuttingMutator<T>
  - org.optaplanner.core.impl.score.director.drools.testgen.fact.TestGenInlineValue (implements org.optaplanner.core.impl.score.director.drools.testgen.fact.TestGenFact)
  - org.optaplanner.core.impl.score.director.drools.testgen.operation.TestGenKieSessionDelete (implements org.optaplanner.core.impl.score.director.drools.testgen.operation.TestGenKieSessionOperation)
  - org.optaplanner.core.impl.score.director.drools.testgen.operation.TestGenKieSessionFireAllRules (implements org.optaplanner.core.impl.score.director.drools.testgen.operation.TestGenKieSessionOperation)
  - org.optaplanner.core.impl.score.director.drools.testgen.operation.TestGenKieSessionInsert (implements org.optaplanner.core.impl.score.director.drools.testgen.operation.TestGenKieSessionOperation)
  - org.optaplanner.core.impl.score.director.drools.testgen.TestGenKieSessionJournal
  - org.optaplanner.core.impl.score.director.drools.testgen.operation.TestGenKieSessionUpdate (implements org.optaplanner.core.impl.score.director.drools.testgen.operation.TestGenKieSessionOperation)
  - org.optaplanner.core.impl.score.director.drools.testgen.fact.TestGenNullFact (implements org.optaplanner.core.impl.score.director.drools.testgen.fact.TestGenFact)
  - org.optaplanner.core.impl.score.director.drools.testgen.mutation.TestGenRemoveRandomBlockMutator<T>
  - org.optaplanner.core.impl.score.director.drools.testgen.fact.TestGenValueFact (implements org.optaplanner.core.impl.score.director.drools.testgen.fact.TestGenFact)
  - org.optaplanner.core.impl.solver.thread.ThreadUtils
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.optaplanner.benchmark.api.PlannerBenchmarkException
        - org.optaplanner.core.impl.score.director.drools.testgen.reproducer.TestGenCorruptedScoreException
  - org.optaplanner.benchmark.impl.ranking.TotalRankSolverRankingWeightFactory (implements org.optaplanner.benchmark.impl.ranking.SolverRankingWeightFactory)
  - org.optaplanner.benchmark.impl.ranking.TotalRankSolverRankingWeightFactory.TotalRankSolverRankingWeight (implements java.lang.Comparable<T>)
  - org.optaplanner.benchmark.impl.ranking.TotalScoreSingleBenchmarkRankingComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - org.optaplanner.benchmark.impl.ranking.TotalScoreSolverRankingComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - org.optaplanner.core.impl.exhaustivesearch.node.bounder.TrendBasedScoreBounder (implements org.optaplanner.core.impl.exhaustivesearch.node.bounder.ScoreBounder)
  - org.optaplanner.core.impl.score.stream.drools.common.TriTuple<A,​B,​C> (implements org.optaplanner.core.impl.score.stream.drools.common.FactTuple)
  - org.optaplanner.core.api.domain.valuerange.ValueRangeFactory
  - org.optaplanner.core.impl.domain.valuerange.util.ValueRangeIterator<S> (implements java.util.Iterator<E>)
  - org.optaplanner.core.impl.domain.variable.descriptor.VariableDescriptor<Solution_> (implements java.io.Serializable)
    - org.optaplanner.core.impl.domain.variable.descriptor.GenuineVariableDescriptor<Solution_>
    - org.optaplanner.core.impl.domain.variable.descriptor.ShadowVariableDescriptor<Solution_>
      - org.optaplanner.core.impl.domain.variable.anchor.AnchorShadowVariableDescriptor<Solution_>
      - org.optaplanner.core.impl.domain.variable.custom.CustomShadowVariableDescriptor<Solution_>
      - org.optaplanner.core.impl.domain.variable.inverserelation.InverseRelationShadowVariableDescriptor<Solution_>
  - org.optaplanner.core.impl.domain.variable.listener.VariableListenerAdapter<Entity_> (implements org.optaplanner.core.api.domain.variable.VariableListener<Entity_>)
  - org.optaplanner.core.impl.domain.variable.listener.support.VariableListenerNotifiable (implements java.lang.Comparable<T>)
  - org.optaplanner.core.impl.domain.variable.listener.support.VariableListenerNotification
  - org.optaplanner.core.impl.domain.variable.listener.support.VariableListenerSupport<Solution_> (implements org.optaplanner.core.impl.domain.variable.supply.SupplyManager)
  - org.optaplanner.benchmark.impl.report.WebsiteResourceUtils
  - org.optaplanner.core.impl.heuristic.selector.common.decorator.WeightFactorySelectionSorter<Solution_,​T> (implements org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionSorter<Solution_,​T>)
  - org.optaplanner.benchmark.impl.ranking.WorstScoreSolverRankingComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - javax.xml.bind.annotation.adapters.XmlAdapter<ValueType,​BoundType>
    - org.optaplanner.persistence.jaxb.api.score.AbstractScoreJaxbXmlAdapter<Score_>
      - org.optaplanner.persistence.jaxb.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreJaxbXmlAdapter
      - org.optaplanner.persistence.jaxb.api.score.buildin.bendablelong.BendableLongScoreJaxbXmlAdapter
      - org.optaplanner.persistence.jaxb.api.score.buildin.bendable.BendableScoreJaxbXmlAdapter
      - org.optaplanner.persistence.jaxb.api.score.buildin.hardmediumsoftbigdecimal.HardMediumSoftBigDecimalScoreJaxbXmlAdapter
      - org.optaplanner.persistence.jaxb.api.score.buildin.hardmediumsoftlong.HardMediumSoftLongScoreJaxbXmlAdapter
      - org.optaplanner.persistence.jaxb.api.score.buildin.hardmediumsoft.HardMediumSoftScoreJaxbXmlAdapter
      - org.optaplanner.persistence.jaxb.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreJaxbXmlAdapter
      - org.optaplanner.persistence.jaxb.api.score.buildin.hardsoftdouble.HardSoftDoubleScoreJaxbXmlAdapter
      - org.optaplanner.persistence.jaxb.api.score.buildin.hardsoftlong.HardSoftLongScoreJaxbXmlAdapter
      - org.optaplanner.persistence.jaxb.api.score.buildin.hardsoft.HardSoftScoreJaxbXmlAdapter
      - org.optaplanner.persistence.jaxb.api.score.buildin.simplebigdecimal.SimpleBigDecimalScoreJaxbXmlAdapter
      - org.optaplanner.persistence.jaxb.api.score.buildin.simpledouble.SimpleDoubleScoreJaxbXmlAdapter
      - org.optaplanner.persistence.jaxb.api.score.buildin.simplelong.SimpleLongScoreJaxbXmlAdapter
      - org.optaplanner.persistence.jaxb.api.score.buildin.simple.SimpleScoreJaxbXmlAdapter
  - org.optaplanner.core.impl.solver.io.XStreamConfigReader
  - org.optaplanner.persistence.xstream.impl.domain.solution.XStreamSolutionFileIO<Solution_> (implements org.optaplanner.persistence.common.api.domain.solution.SolutionFileIO<Solution_>)

## Interface Hierarchy

- java.lang.reflect.AnnotatedElement
  - org.optaplanner.core.impl.domain.common.accessor.MemberAccessor
- java.lang.AutoCloseable
  - java.io.Closeable
    - org.optaplanner.core.api.domain.variable.VariableListener<Entity_>
      - org.optaplanner.core.api.domain.variable.CustomShadowVariable.NullVariableListener
      - org.optaplanner.core.impl.domain.variable.listener.VariableListener<Entity_> (also extends org.optaplanner.core.impl.domain.variable.supply.Supply)
        - org.optaplanner.core.impl.domain.variable.listener.StatefulVariableListener<Entity_>
          - org.optaplanner.core.impl.domain.variable.listener.SourcedVariableListener<Entity_>
  - org.optaplanner.core.impl.score.stream.ConstraintSession<Solution_>
  - org.optaplanner.core.impl.score.director.ScoreDirector<Solution_>
    - org.optaplanner.core.impl.score.director.InnerScoreDirector<Solution_>
  - org.optaplanner.core.api.solver.SolverManager<Solution_,​ProblemId_>
- org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinBridgeConstraintStream<Solution_>
- org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinConstraintStream<Solution_>
- org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinNode
- org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinTuple
- org.optaplanner.core.impl.score.stream.bavet.common.BavetNode
  - org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinBridgeNode
  - org.optaplanner.core.impl.score.stream.bavet.common.BavetScoringNode
- org.optaplanner.core.impl.score.stream.bavet.common.BavetScoringTuple
- org.optaplanner.core.impl.score.stream.bavet.common.BavetTuple
  - org.optaplanner.core.impl.score.stream.bavet.common.BavetGroupBridgeTuple
  - org.optaplanner.core.impl.score.stream.bavet.common.BavetGroupTuple
  - org.optaplanner.core.impl.score.stream.bavet.common.BavetJoinBridgeTuple
- org.optaplanner.benchmark.impl.result.BenchmarkResult
- org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A,​B,​ResultContainer_,​Result_>
- org.optaplanner.core.api.score.stream.bi.BiJoiner<A,​B>
- java.lang.Comparable<T>
  - org.optaplanner.core.api.score.Score<Score_>
    - org.optaplanner.core.api.score.FeasibilityScore<S>
- java.util.Comparator<T>
  - org.optaplanner.core.api.domain.entity.PlanningEntity.NullDifficultyComparator
  - org.optaplanner.core.api.domain.variable.PlanningVariable.NullStrengthComparator
- org.optaplanner.core.api.score.stream.Constraint
- org.optaplanner.core.api.score.stream.ConstraintFactory
  - org.optaplanner.core.impl.score.stream.InnerConstraintFactory<Solution_>
- org.optaplanner.core.api.score.stream.ConstraintProvider
- org.optaplanner.core.impl.score.stream.ConstraintSessionFactory<Solution_>
- org.optaplanner.core.api.score.stream.ConstraintStream
  - org.optaplanner.core.api.score.stream.bi.BiConstraintStream<A,​B>
    - org.optaplanner.core.impl.score.stream.bi.InnerBiConstraintStream<A,​B>
  - org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<A,​B,​C,​D>
    - org.optaplanner.core.impl.score.stream.quad.InnerQuadConstraintStream<A,​B,​C,​D>
  - org.optaplanner.core.api.score.stream.tri.TriConstraintStream<A,​B,​C>
    - org.optaplanner.core.impl.score.stream.tri.InnerTriConstraintStream<A,​B,​C>
  - org.optaplanner.core.api.score.stream.uni.UniConstraintStream<A>
    - org.optaplanner.core.impl.score.stream.uni.InnerUniConstraintStream<A>
- org.optaplanner.test.api.score.stream.ConstraintVerifier<ConstraintProvider_,​Solution_>
- org.optaplanner.core.impl.phase.custom.CustomPhaseCommand<Solution_>
- org.optaplanner.core.impl.domain.variable.supply.Demand<S>
- org.optaplanner.core.api.score.calculator.EasyScoreCalculator<Solution_,​Score_>
  - org.optaplanner.core.impl.score.director.easy.EasyScoreCalculator<Solution_>
- org.optaplanner.core.impl.heuristic.selector.entity.mimic.EntityMimicRecorder
- java.util.EventListener
  - org.optaplanner.core.api.solver.event.SolverEventListener<Solution_>
  - org.optaplanner.core.impl.solver.event.SolverLifecycleListener<Solution_>
    - org.optaplanner.core.impl.constructionheuristic.event.ConstructionHeuristicPhaseLifecycleListener<Solution_>
      - org.optaplanner.core.impl.constructionheuristic.decider.forager.ConstructionHeuristicForager
    - org.optaplanner.core.impl.exhaustivesearch.event.ExhaustiveSearchPhaseLifecycleListener<Solution_>
    - org.optaplanner.core.impl.localsearch.event.LocalSearchPhaseLifecycleListener<Solution_>
      - org.optaplanner.core.impl.localsearch.decider.acceptor.Acceptor
      - org.optaplanner.core.impl.localsearch.decider.forager.finalist.FinalistPodium
      - org.optaplanner.core.impl.localsearch.decider.forager.LocalSearchForager
    - org.optaplanner.core.impl.partitionedsearch.event.PartitionedSearchPhaseLifecycleListener<Solution_>
    - org.optaplanner.core.impl.phase.event.PhaseLifecycleListener<Solution_>
      - org.optaplanner.core.impl.constructionheuristic.placer.EntityPlacer (also extends java.lang.Iterable<T>)
      - org.optaplanner.core.impl.phase.Phase<Solution_>
        - org.optaplanner.core.impl.constructionheuristic.ConstructionHeuristicPhase<Solution_>
        - org.optaplanner.core.impl.phase.custom.CustomPhase<Solution_>
        - org.optaplanner.core.impl.exhaustivesearch.ExhaustiveSearchPhase<Solution_>
        - org.optaplanner.core.impl.localsearch.LocalSearchPhase<Solution_>
        - org.optaplanner.core.impl.partitionedsearch.PartitionedSearchPhase<Solution_>
      - org.optaplanner.core.impl.heuristic.selector.Selector
        - org.optaplanner.core.impl.heuristic.selector.IterableSelector<T> (also extends java.lang.Iterable<T>)
          - org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector (also extends org.optaplanner.core.impl.heuristic.selector.value.ValueSelector)
          - org.optaplanner.core.impl.heuristic.selector.ListIterableSelector<T> (also extends org.optaplanner.core.impl.heuristic.selector.common.iterator.ListIterable<T>)
            - org.optaplanner.core.impl.heuristic.selector.entity.EntitySelector
            - org.optaplanner.core.impl.heuristic.selector.entity.pillar.PillarSelector
            - org.optaplanner.core.impl.heuristic.selector.value.chained.SubChainSelector
          - org.optaplanner.core.impl.heuristic.selector.move.MoveSelector
        - org.optaplanner.core.impl.heuristic.selector.value.ValueSelector
          - org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector (also extends org.optaplanner.core.impl.heuristic.selector.IterableSelector<T>)
      - org.optaplanner.core.impl.solver.termination.Termination
  - org.optaplanner.core.impl.score.director.drools.testgen.TestGenKieSessionListener
- org.optaplanner.core.impl.score.stream.drools.common.FactTuple
- org.optaplanner.core.api.score.calculator.IncrementalScoreCalculator<Solution_,​Score_>
  - org.optaplanner.core.api.score.calculator.ConstraintMatchAwareIncrementalScoreCalculator<Solution_,​Score_>
    - org.optaplanner.core.impl.score.director.incremental.ConstraintMatchAwareIncrementalScoreCalculator<Solution_> (also extends org.optaplanner.core.impl.score.director.incremental.IncrementalScoreCalculator<Solution_>)
  - org.optaplanner.core.impl.score.director.incremental.IncrementalScoreCalculator<Solution_>
    - org.optaplanner.core.impl.score.director.incremental.ConstraintMatchAwareIncrementalScoreCalculator<Solution_> (also extends org.optaplanner.core.api.score.calculator.ConstraintMatchAwareIncrementalScoreCalculator<Solution_,​Score_>)
- java.lang.Iterable<T>
  - org.optaplanner.core.impl.constructionheuristic.placer.EntityPlacer (also extends org.optaplanner.core.impl.phase.event.PhaseLifecycleListener<Solution_>)
  - org.optaplanner.core.impl.heuristic.selector.IterableSelector<T> (also extends org.optaplanner.core.impl.heuristic.selector.Selector)
    - org.optaplanner.core.impl.heuristic.selector.value.EntityIndependentValueSelector (also extends org.optaplanner.core.impl.heuristic.selector.value.ValueSelector)
    - org.optaplanner.core.impl.heuristic.selector.ListIterableSelector<T> (also extends org.optaplanner.core.impl.heuristic.selector.common.iterator.ListIterable<T>)
      - org.optaplanner.core.impl.heuristic.selector.entity.EntitySelector
      - org.optaplanner.core.impl.heuristic.selector.entity.pillar.PillarSelector
      - org.optaplanner.core.impl.heuristic.selector.value.chained.SubChainSelector
    - org.optaplanner.core.impl.heuristic.selector.move.MoveSelector
  - org.optaplanner.core.impl.heuristic.selector.common.iterator.ListIterable<T>
    - org.optaplanner.core.impl.heuristic.selector.ListIterableSelector<T> (also extends org.optaplanner.core.impl.heuristic.selector.IterableSelector<T>)
      - org.optaplanner.core.impl.heuristic.selector.entity.EntitySelector
      - org.optaplanner.core.impl.heuristic.selector.entity.pillar.PillarSelector
      - org.optaplanner.core.impl.heuristic.selector.value.chained.SubChainSelector
- org.optaplanner.core.impl.domain.lookup.LookUpStrategy
- org.optaplanner.core.impl.heuristic.move.Move<Solution_>
- org.optaplanner.core.impl.heuristic.selector.move.factory.MoveIteratorFactory<Solution_>
- org.optaplanner.core.impl.heuristic.selector.move.factory.MoveListFactory<Solution_>
- org.optaplanner.test.api.score.stream.MultiConstraintAssertion
- org.optaplanner.test.api.score.stream.MultiConstraintVerification<Solution_>
- org.optaplanner.core.impl.heuristic.selector.common.nearby.NearbyDistanceMeter<O,​D>
- org.optaplanner.core.impl.heuristic.selector.common.nearby.NearbyRandom
- org.optaplanner.core.api.function.PentaFunction<A,​B,​C,​D,​E,​R>
- org.optaplanner.core.api.score.stream.penta.PentaJoiner<A,​B,​C,​D,​E>
- org.optaplanner.core.api.function.PentaPredicate<A,​B,​C,​D,​E>
- org.optaplanner.core.api.domain.entity.PinningFilter<Solution_,​Entity_>
  - org.optaplanner.core.api.domain.entity.PlanningEntity.NullPinningFilter
- org.optaplanner.benchmark.api.PlannerBenchmark
- org.optaplanner.core.api.domain.variable.PlanningVariableReference.NullEntityClass
- org.optaplanner.core.impl.solver.ProblemFactChange<Solution_>
- org.optaplanner.benchmark.impl.loader.ProblemProvider<Solution_>
- org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,​B,​C,​D,​ResultContainer_,​Result_>
- org.optaplanner.core.api.function.QuadFunction<A,​B,​C,​D,​R>
- org.optaplanner.core.api.score.stream.quad.QuadJoiner<A,​B,​C,​D>
- org.optaplanner.core.api.function.QuadPredicate<A,​B,​C,​D>
- org.optaplanner.core.impl.solver.random.RandomFactory
- org.optaplanner.core.impl.exhaustivesearch.node.bounder.ScoreBounder
- org.optaplanner.core.impl.score.definition.ScoreDefinition<S>
  - org.optaplanner.core.api.domain.solution.PlanningScore.NullScoreDefinition
- org.optaplanner.core.impl.score.director.ScoreDirectorFactory<Solution_>
  - org.optaplanner.core.impl.score.director.InnerScoreDirectorFactory<Solution_>
- org.optaplanner.core.api.score.holder.ScoreHolder<Score_>
- org.optaplanner.core.api.score.ScoreManager<Solution_>
- org.optaplanner.core.impl.heuristic.selector.common.SelectionCacheLifecycleListener
- org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionFilter<Solution_,​T>
  - org.optaplanner.core.api.domain.entity.PlanningEntity.NullMovableEntitySelectionFilter
  - org.optaplanner.core.api.domain.variable.PlanningVariable.NullReinitializeVariableEntityFilter
- org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionProbabilityWeightFactory<Solution_,​T>
- org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionSorter<Solution_,​T>
- org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionSorterWeightFactory<Solution_,​T>
  - org.optaplanner.core.api.domain.entity.PlanningEntity.NullDifficultyWeightFactory
  - org.optaplanner.core.api.domain.variable.PlanningVariable.NullStrengthWeightFactory
- java.io.Serializable
  - org.optaplanner.core.impl.score.stream.drools.common.GroupByCollectorProcessor<InTuple,​OutTuple>
- org.optaplanner.test.api.score.stream.SingleConstraintAssertion
- org.optaplanner.test.api.score.stream.SingleConstraintVerification<Solution_>
- org.optaplanner.core.api.domain.solution.Solution<S>
- org.optaplanner.core.api.domain.solution.cloner.SolutionCloner<Solution_>
  - org.optaplanner.core.api.domain.solution.PlanningSolution.NullSolutionCloner
- org.optaplanner.persistence.common.api.domain.solution.SolutionFileIO<Solution_>
- org.optaplanner.core.impl.partitionedsearch.partitioner.SolutionPartitioner<Solution_>
- org.optaplanner.core.api.solver.Solver<Solution_>
- org.optaplanner.core.api.solver.SolverJob<Solution_,​ProblemId_>
- org.optaplanner.benchmark.impl.ranking.SolverRankingWeightFactory
- org.optaplanner.benchmark.impl.statistic.StatisticType
- org.optaplanner.core.impl.domain.variable.supply.Supply
  - org.optaplanner.core.impl.domain.variable.anchor.AnchorVariableSupply
  - org.optaplanner.core.impl.domain.variable.inverserelation.CollectionInverseVariableSupply
  - org.optaplanner.core.impl.domain.variable.inverserelation.SingletonInverseVariableSupply
  - org.optaplanner.core.impl.domain.variable.listener.VariableListener<Entity_> (also extends org.optaplanner.core.api.domain.variable.VariableListener<Entity_>)
    - org.optaplanner.core.impl.domain.variable.listener.StatefulVariableListener<Entity_>
      - org.optaplanner.core.impl.domain.variable.listener.SourcedVariableListener<Entity_>
- org.optaplanner.core.impl.domain.variable.supply.SupplyManager
- org.optaplanner.core.impl.localsearch.decider.acceptor.tabu.size.TabuSizeStrategy
- org.optaplanner.core.impl.score.director.drools.testgen.fact.TestGenFact
- org.optaplanner.core.impl.score.director.drools.testgen.operation.TestGenKieSessionOperation
- org.optaplanner.core.impl.score.director.drools.testgen.reproducer.TestGenOriginalProblemReproducer
- org.optaplanner.core.api.function.ToIntQuadFunction<A,​B,​C,​D>
- org.optaplanner.core.api.function.ToIntTriFunction<A,​B,​C>
- org.optaplanner.core.api.function.ToLongQuadFunction<A,​B,​C,​D>
- org.optaplanner.core.api.function.ToLongTriFunction<A,​B,​C>
- org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A,​B,​C,​ResultContainer_,​Result_>
- org.optaplanner.core.api.function.TriFunction<A,​B,​C,​R>
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsCondition.Mutator<InTuple,​OutPatternVar,​R,​C>
- org.optaplanner.core.api.score.stream.tri.TriJoiner<A,​B,​C>
- org.optaplanner.core.api.function.TriPredicate<A,​B,​C>
- org.optaplanner.core.impl.score.inliner.UndoScoreImpacter
- org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,​ResultContainer_,​Result_>
- org.optaplanner.core.impl.heuristic.selector.value.mimic.ValueMimicRecorder
- org.optaplanner.core.api.domain.valuerange.ValueRange<T>
  - org.optaplanner.core.api.domain.valuerange.CountableValueRange<T>
- org.optaplanner.core.impl.domain.valuerange.descriptor.ValueRangeDescriptor<Solution_>
  - org.optaplanner.core.impl.domain.valuerange.descriptor.EntityIndependentValueRangeDescriptor<Solution_>
- org.optaplanner.core.impl.score.inliner.WeightedScoreImpacter
  - org.optaplanner.core.impl.score.inliner.BigDecimalWeightedScoreImpacter
  - org.optaplanner.core.impl.score.inliner.IntWeightedScoreImpacter
  - org.optaplanner.core.impl.score.inliner.LongWeightedScoreImpacter
- org.optaplanner.core.impl.heuristic.solution.WorkingSolutionAware<T>

## Annotation Type Hierarchy

- org.optaplanner.core.api.domain.variable.AnchorShadowVariable (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.constraintweight.ConstraintConfiguration (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.constraintweight.ConstraintConfigurationProvider (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.constraintweight.ConstraintWeight (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.variable.CustomShadowVariable (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.solution.cloner.DeepPlanningClone (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.variable.InverseRelationShadowVariable (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.entity.PlanningEntity (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.solution.PlanningEntityCollectionProperty (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.solution.PlanningEntityProperty (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.lookup.PlanningId (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.entity.PlanningPin (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.solution.PlanningScore (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.solution.PlanningSolution (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.variable.PlanningVariable (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.variable.PlanningVariableReference (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.solution.drools.ProblemFactCollectionProperty (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.solution.ProblemFactCollectionProperty (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.solution.drools.ProblemFactProperty (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.solution.ProblemFactProperty (implements java.lang.annotation.Annotation)
- org.optaplanner.core.api.domain.valuerange.ValueRangeProvider (implements java.lang.annotation.Annotation)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.optaplanner.core.config.localsearch.decider.acceptor.AcceptorType
    - org.optaplanner.core.api.domain.autodiscover.AutoDiscoverMemberType
    - org.optaplanner.core.impl.score.stream.bavet.common.BavetTupleState
    - org.optaplanner.core.impl.solver.thread.ChildThreadType
    - org.optaplanner.core.api.score.stream.ConstraintStreamImplType
    - org.optaplanner.core.config.constructionheuristic.decider.forager.ConstructionHeuristicPickEarlyType
    - org.optaplanner.core.config.constructionheuristic.ConstructionHeuristicType
    - org.optaplanner.core.config.heuristic.selector.entity.EntitySorterManner
    - org.optaplanner.core.config.solver.EnvironmentMode
    - org.optaplanner.core.config.exhaustivesearch.ExhaustiveSearchType
    - org.optaplanner.core.config.localsearch.decider.forager.FinalistPodiumType
    - org.optaplanner.core.config.score.trend.InitializingScoreTrendLevel
    - org.optaplanner.core.impl.score.stream.common.JoinerType
    - org.optaplanner.core.config.localsearch.decider.forager.LocalSearchPickEarlyType
    - org.optaplanner.core.config.localsearch.LocalSearchType
    - org.optaplanner.core.api.domain.lookup.LookUpStrategyType
    - org.optaplanner.core.impl.domain.common.accessor.MemberAccessorFactory.MemberAccessorType
    - org.optaplanner.benchmark.impl.aggregator.swingui.MixedCheckBox.MixedCheckBoxStatus
    - org.optaplanner.core.config.heuristic.selector.common.nearby.NearbySelectionDistributionType
    - org.optaplanner.core.config.exhaustivesearch.NodeExplorationType
    - org.optaplanner.core.impl.partitionedsearch.queue.PartitionChangedEvent.PartitionChangedEventType
    - org.optaplanner.core.api.domain.variable.PlanningVariableGraphType
    - org.optaplanner.benchmark.config.statistic.ProblemStatisticType (implements org.optaplanner.benchmark.impl.statistic.StatisticType)
    - org.optaplanner.core.config.solver.random.RandomType
    - org.optaplanner.core.config.score.definition.ScoreDefinitionType
    - org.optaplanner.core.impl.score.stream.common.ScoreImpactType
    - org.optaplanner.core.config.heuristic.selector.common.SelectionCacheType
    - org.optaplanner.core.config.heuristic.selector.common.SelectionOrder
    - org.optaplanner.core.config.heuristic.selector.common.decorator.SelectionSorterOrder
    - org.optaplanner.benchmark.config.statistic.SingleStatisticType (implements org.optaplanner.benchmark.impl.statistic.StatisticType)
    - org.optaplanner.benchmark.config.blueprint.SolverBenchmarkBluePrintType
    - org.optaplanner.benchmark.config.ranking.SolverRankingType
    - org.optaplanner.core.api.solver.SolverStatus
    - org.optaplanner.core.config.localsearch.decider.acceptor.stepcountinghillclimbing.StepCountingHillClimbingType
    - org.optaplanner.core.config.heuristic.selector.move.generic.SubPillarType
    - org.optaplanner.core.config.solver.termination.TerminationCompositionStyle
    - org.optaplanner.core.config.heuristic.selector.value.ValueSorterManner
    - org.optaplanner.core.impl.domain.variable.listener.support.VariableListenerNotificationType