@classmethod
  @gen.coroutine
  def CreateProspective(cls, client, identity_key, user_id, timestamp):
    # Make sure that identity is not being bound to a different user.
    identity = yield gen.Task(Identity.Query, client, identity_key, None, must_exist=False)
    if identity is None:
      identity = Identity.CreateFromKeywords(key=identity_key)
    else:
      assert identity.user_id is None or identity.user_id == user_id, \
             'the identity is already in use: %s' % identity

    identity.user_id = user_id

    # Prospective user linking always done by authority of Viewfinder. 
    identity.authority = 'Viewfinder'

    yield gen.Task(identity.Update, client)

    # Update all contacts that refer to this identity.
    yield identity._RewriteContacts(client, timestamp)

    raise gen.Return(identity)
abandon_ext(msgid[,serverctrls=None[,clientctrls=None]]) -> None    
dataset/ETHPy150Open viewfinderco/viewfinder/backend/db/identity.py/Identity.CreateProspective--crossover with--dataset/ETHPy150Open cloudera/hue/desktop/core/ext-py/python-ldap-2.3.13/Lib/ldap/ldapobject.py/SimpleLDAPObject.abandon_ext