private function processTransformers(StreamMetaData $metadata): string
    {
        $overallResult = self::RESULT_ABSTAIN;
        if ($this->transformers instanceof Closure) {
            $delayedTransformers = $this->transformers;
            $this->transformers  = $delayedTransformers();
        }
        foreach ($this->transformers as $transformer) {
            $transformationResult = $transformer->transform($metadata);
            if ($overallResult === self::RESULT_ABSTAIN && $transformationResult === self::RESULT_TRANSFORMED) {
                $overallResult = self::RESULT_TRANSFORMED;
            }
            // transformer reported about termination, next transformers will be skipped
            if ($transformationResult === self::RESULT_ABORTED) {
                $overallResult = self::RESULT_ABORTED;
                break;
            }
        }

        return $overallResult;
    }
private function processTransformers(StreamMetaData $metadata): string
    {
        $overallResult = self::RESULT_ABSTAIN;
        if ($this->transformers instanceof Closure) {
            $delayedTransformers = $this->transformers;
            $this->transformers  = $delayedTransformers();
        }
        foreach ($this->transformers as $transformer) {
            $transformationResult = $transformer->transform($metadata);
            if ($overallResult === self::RESULT_ABSTAIN && $transformationResult === self::RESULT_TRANSFORMED) {
                $overallResult = self::RESULT_TRANSFORMED;
            }
            // transformer reported about termination, next transformers will be skipped
            if ($transformationResult === self::RESULT_ABORTED) {
                $overallResult = self::RESULT_ABORTED;
                break;
            }
        }

        return $overallResult;
    }
private function processTransformers ( StreamMetaData $ metadata ) : string { $ overallResult = self :: RESULT_ABSTAIN ; if ( $ this -> transformers instanceof Closure ) { $ delayedTransformers = $ this -> transformers ; $ this -> transformers = $ delayedTransformers ( ) ; } foreach ( $ this -> transformers as $ transformer ) { $ transformationResult = $ transformer -> transform ( $ metadata ) ; if ( $ overallResult === self :: RESULT_ABSTAIN && $ transformationResult === self :: RESULT_TRANSFORMED ) { $ overallResult = self :: RESULT_TRANSFORMED ; } // transformer reported about termination, next transformers will be skipped if ( $ transformationResult === self :: RESULT_ABORTED ) { $ overallResult = self :: RESULT_ABORTED ; break ; } } return $ overallResult ; }
Iterates over transformers

@return string See RESULT_XXX constants in the interface
Iterates over transformers