<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_statements(self, reprocess=False):
 """General method to create statements."""

        if self._statements is None or reprocess:
            # Handle the case that there is no content.
            if self.content is None:
                self._statements = []
                return []

            # Map to the different processors.
            if self.reader == ReachReader.name:
                if self.format == formats.JSON:
                    # Process the reach json into statements.
                    json_str = json.dumps(self.content)
                    processor = reach.process_json_str(json_str)
                else:
                    raise ReadingError("Incorrect format for Reach output: %s."
                                       % self.format)
            elif self.reader == SparserReader.name:
                if self.format == formats.JSON:
                    # Process the sparser content into statements
                    processor = sparser.process_json_dict(self.content)
                    if processor is not None:
                        processor.set_statements_pmid(None)
                else:
                    raise ReadingError("Sparser should only ever be JSON, not "
                                       "%s." % self.format)
            elif self.reader == TripsReader.name:
                processor = trips.process_xml(self.content)
            else:
                raise ReadingError("Unknown reader: %s." % self.reader)

            # Get the statements from the processor, if it was resolved.
            if processor is None:
                logger.error("Production of statements from %s failed for %s."
                             % (self.reader, self.content_id))
                stmts = []
            else:
                stmts = processor.statements
            self._statements = stmts[:]
        else:
            stmts = self._statements[:]
        return stmts