code: def create_missing(self):
          
          # We call `super` first b/c it populates `self.organization`, and we
          # need that field to perform a search a little later.
          super(LifecycleEnvironment, self).create_missing()
          if (self.name != 'Library' and  # pylint:disable=no-member
                  not hasattr(self, 'prior')):
              results = self.search({'organization'}, {u'name': u'Library'})
              if len(results) != 1:
                  raise APIResponseError(
                      u'Could not find the "Library" lifecycle environment for '
                      u'organization {0}. Search results: {1}'
                      .format(self.organization, results)  # pylint:disable=E1101
                  )
              self.prior = results[0]
docs: Automatically populate additional instance attributes.
  
          When a new lifecycle environment is created, it must either:
  
          * Reference a parent lifecycle environment in the tree of lifecycle
            environments via the ``prior`` field, or
          * have a name of "Library".
  
          Within a given organization, there can only be a single lifecycle
          environment with a name of 'Library'. This lifecycle environment is at
          the root of a tree of lifecycle environments, so its ``prior`` field is
          blank.
  
          This method finds the 'Library' lifecycle environment within the
          current organization and points to it via the ``prior`` field. This is
          not done if the current lifecycle environment has a name of 'Library'.