protected function resolveParametersForAttribute($attribute, array $parameters)
    {
        $children = $this->getDependentAttributes($parameters);

        if (!empty($children)) {
            foreach ($children as $child) {
                $this->resolveParametersForAttribute($child, $this->requirements[$child]);
            }
        }

        $this->doResolveParametersForAttribute($attribute, $parameters);
        $remainingParameters = self::getParametersInValue($this->attributes[$attribute]);

        // A second pass may be required for attributes it depended on that contained parameters not based on attributes
        if (!empty($remainingParameters)) {
            $this->doResolveParametersForAttribute($attribute, $remainingParameters);
        }

        $this->resolvedParameters[] = $attribute;
    }