def _target_addressable_to_target(self, address, addressable):
    try:
      # TODO(John Sirois): Today - in practice, Addressable is unusable.  BuildGraph assumes
      # addressables are in fact TargetAddressables with dependencies (see:
      # `inject_address_closure` for example), ie: leaf nameable things with - by definition - no
      # deps cannot actually be used.  Clean up BuildGraph to handle addressables as they are
      # abstracted today which does not necessarily mean them having dependencies and thus forming
      # graphs.  They may only be multiply-referred to leaf objects.
      target = addressable.instantiate(build_graph=self, address=address)
      return target
    except Exception:
      traceback.print_exc()
      logger.exception('Failed to instantiate Target with type {target_type} with name "{name}"'
                       ' at address {address}'
                       .format(target_type=addressable.addressed_type,
                               name=addressable.addressed_name,
                               address=address))
      raise
Returns time in seconds since epoch of time represented by a string.
dataset/ETHPy150Open pantsbuild/pants/src/python/pants/build_graph/mutable_build_graph.py/MutableBuildGraph._target_addressable_to_target--crossover with--dataset/ETHPy150Open babble/babble/include/jython/Lib/cookielib.py/http2time