@classmethod<EOL><INDENT>def serializationDecision(cls, obj, serializedClasses,<EOL>serializedConfiguredUnits):<DEDENT>
isDeclaration = isinstance(obj, Entity)<EOL>isDefinition = isinstance(obj, Architecture)<EOL>if isDeclaration:<EOL><INDENT>unit = obj.origin<EOL><DEDENT>elif isDefinition:<EOL><INDENT>unit = obj.entity.origin<EOL><DEDENT>else:<EOL><INDENT>return True<EOL><DEDENT>assert isinstance(unit, Unit)<EOL>sd = unit._serializeDecision<EOL>if sd is None:<EOL><INDENT>return True<EOL><DEDENT>else:<EOL><INDENT>prevPriv = serializedClasses.get(unit.__class__, None)<EOL>seriazlize, nextPriv = sd(unit, obj, isDeclaration, prevPriv)<EOL>serializedClasses[unit.__class__] = nextPriv<EOL>return seriazlize<EOL><DEDENT>
Decide if this unit should be serialized or not eventually fix name
to fit same already serialized unit

:param obj: object to serialize
:param serializedClasses: dict {unitCls : unitobj}
:param serializedConfiguredUnits: (unitCls, paramsValues) : unitObj
    where paramsValues are named tuple name:value