<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _normalize_properties(self, definition):
 """ Inspects the definition and returns a copy of it that is updated with any special property such as Condition, UpdatePolicy and the like. """

        args = definition.get('Properties', {}).copy()
        if 'Condition' in definition:
            args.update({'Condition': definition['Condition']})
        if 'UpdatePolicy' in definition:
            # there's only 1 kind of UpdatePolicy; use it
            args.update({'UpdatePolicy': self._create_instance(
                UpdatePolicy, definition['UpdatePolicy'])})
        if 'CreationPolicy' in definition:
            # there's only 1 kind of CreationPolicy; use it
            args.update({'CreationPolicy': self._create_instance(
                CreationPolicy, definition['CreationPolicy'])})
        if 'DeletionPolicy' in definition:
            # DeletionPolicity is very basic
            args.update(
                {'DeletionPolicy': self._convert_definition(
                    definition['DeletionPolicy'])})
        if 'Metadata' in definition:
            # there are various kind of metadata; pass it as-is
            args.update(
                {'Metadata': self._convert_definition(
                    definition['Metadata'])})
        if 'DependsOn' in definition:
            args.update(
                {'DependsOn': self._convert_definition(
                    definition['DependsOn'])})
        return args