def __init__(self, doc):
if not SwaggerEditor.is_valid(doc):<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>self._doc = copy.deepcopy(doc)<EOL>self.paths = self._doc["<STR_LIT>"]<EOL>self.security_definitions = self._doc.get("<STR_LIT>", {})<EOL>self.gateway_responses = self._doc.get(self._X_APIGW_GATEWAY_RESPONSES, {})<EOL>
Initialize the class with a swagger dictionary. This class creates a copy of the Swagger and performs all
modifications on this copy.

:param dict doc: Swagger document as a dictionary
:raises ValueError: If the input Swagger document does not meet the basic Swagger requirements.