elk-reasoner/src/main/java/org/semanticweb/elk/reasoner/saturation/properties/SubPropertyExplorer.java
static Set<IndexedPropertyChain> getSubPropertyChains(
			IndexedPropertyChain input,
			Producer<? super SubPropertyChainInference> inferenceProducer,
			final PropertyHierarchyCompositionState.Dispatcher dispatcher) {
		return computeSubProperties(input, inferenceProducer, dispatcher)
				.getSubPropertyChains();
	}
static Set<IndexedPropertyChain> getSubPropertyChains(
			IndexedPropertyChain input,
			Producer<? super SubPropertyChainInference> inferenceProducer,
			final PropertyHierarchyCompositionState.Dispatcher dispatcher) {
		return computeSubProperties(input, inferenceProducer, dispatcher)
				.getSubPropertyChains();
	}
Computes all sub-{@link IndexedPropertyChain}s of the given
{@link IndexedPropertyChain}, if not computing before, recording all
{@link ObjectPropertyInference}s using the provided {@link Producer}. It
is ensured that all {@link ObjectPropertyInference}s are applied only
once even if the method is called multiple times.

@param input
the {@link IndexedPropertyChain} for which to find the sub-
{@link IndexedPropertyChain}s.
@param inferenceProducer
the {@link Producer} using which all applied
{@link ObjectPropertyInference}s are recorded.
@return the sub-{@link IndexedPropertyChain}s of the given
{@link IndexedPropertyChain}