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();
	}
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}
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 .