code: def synthesizeMember(memberName,
                       default = None,
                       contract = None,
                       readOnly = False,
                       getterName = None,
                       setterName = None,
                       privateMemberName = None):
      
      accessorDelegate = AccessorDelegate(namingConvention = NamingConventionCamelCase(),
                                          getterName = getterName,
                                          setterName = setterName)
      return SyntheticDecoratorFactory().syntheticMemberDecorator(memberName = memberName,
                                                                  defaultValue = default,
                                                                  contract = contract,
                                                                  readOnly = readOnly,
                                                                  privateMemberName = privateMemberName,
                                                                  memberDelegate = accessorDelegate)
docs: When applied to a class, this decorator adds getter/setter methods to it and overrides the constructor in order to set\
      the default value of the member.
      By default, the getter will be named ``memberName``. (Ex.: ``memberName = 'member' => instance.member()``)
      
      By default, the setter will be named ``memberName`` with the first letter capitalized and 'set' prepended it to it.
      (Ex.: ``memberName = "member" => instance.setMember(...)``)
  
      By default, the private attribute containing the member's value will be named ``memberName`` with '_' prepended to it.
  
      Naming convention can be overridden with a custom one using :meth:`namingConvention <namingConvention>` decorator.
  
      :param memberName: Name of the member to synthesize.
      :type memberName: str
      :param default: Member's default value.
      :type default: *
      :param contract: Type constraint. See `PyContracts <http://andreacensi.github.com/contracts/>`_
      :type contract: *
      :param readOnly: If set to ``True``, the setter will not be added to the class.
      :type readOnly: bool
      :param getterName: Custom getter name. This can be useful when the member is a boolean. (Ex.: ``isAlive``)
      :type getterName: str|None
      :param setterName: Custom setter name.
      :type setterName: str|None
      :param privateMemberName: Custom name for the private attribute that contains the member's value.
      :type privateMemberName: str|None
      
      :raises: :class:`DuplicateMemberNameError` when two synthetic members have the same name.