@abc.abstractmethod<EOL><INDENT>def get_value_by_parameter_on_condition(self, parameter_id, value_condition):<DEDENT>
return<EOL>
Gets a value in this configuration based on a condition.

        If multiple values are available the most preferred one is
        returned. The condition specified is applied to any or all
        parameters in this configuration as applicable.

        :param parameter_id: the ``Id`` of a ``Parameter``
        :type parameter_id: ``osid.id.Id``
        :param value_condition: the condition
        :type value_condition: ``osid.configuration.ValueCondition``
        :return: the value
        :rtype: ``osid.configuration.Value``
        :raise: ``NotFound`` -- parameter ``Id`` is not found
        :raise: ``NullArgument`` -- ``parameter_id`` or ``value_condition`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``PermissionDenied`` -- authorization failure
        :raise: ``Unsupported`` -- ``value_condition`` not of this service

        *compliance: mandatory -- This method must be implemented.*