docs: def validate_signature(self):
          """If signature (header) has not been read then read and validate it"""
          if self.signature:
              return
          self.signature = self.file.read(8)
          if self.signature != png_signature:
              raise FormatError("PNG file has invalid signature.")