(1) For the purpose of providing practical guidance in respect of any one or more of the requirements of this Ordinance or of regulations under this Ordinance, the Commissioner may issue such codes of practice (whether prepared by the Commissioner or not) as the Commissioner considers appropriate.
(2) The Commissioner may amend or revoke a code of practice issued by him under subsection (1).
(3) Where the Commissioner exercises a power under subsection (1) or (2), he shall as soon as may be reasonably practicable publish notice thereof in the Gazette and the notice shall be in such form as the Commissioner considers appropriate.
(4) A failure by any person to observe a provision of an approved code shall not of itself cause him to incur any criminal liability, but where-
(a) in any criminal proceedings the defendant is alleged to have committed an offence either-
(i) by reason of a contravention of or a failure to comply with, whether by act or omission, this Ordinance or regulations under this Ordinance; or
(ii) by reason of a failure to discharge or perform a duty imposed by this Ordinance or such regulations; and
(b) the matter to which the alleged contravention or failure relates is one to which, in the opinion of the court, an approved code relates,
then subsection (5) shall apply as regards the proceedings.
(5) In any criminal proceedings to which this subsection applies, the following, namely-
(a) compliance with a provision of an approved code found by the court to be relevant to a matter to which a contravention or failure alleged in the proceedings relates;
(b) a contravention or failure to comply with, whether by act or omission, any such provision so found,
may be relied on by any party to the proceedings as tending to establish or to negative any liability which is in question in the proceedings.
(6) In any criminal proceedings, any document which purports to be a copy of a particular approved code shall, in the absence of evidence to the contrary, be regarded by the court as being a true copy of that code.