<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def for_default_graph(*args, **kwargs):
 """Creates a bookkeeper for the default graph. Args: *args: Arguments to pass into Bookkeeper's constructor. **kwargs: Arguments to pass into Bookkeeper's constructor. Returns: A new Bookkeeper. Raises: ValueError: If args or kwargs are provided and the Bookkeeper already exists. """

  graph = tf.get_default_graph()
  collection = graph.get_collection(_BOOKKEEPER)
  if collection:
    if args or kwargs:
      raise ValueError('Requesting construction of a BookKeeper that already '
                       'exists: %s %s' % (args, kwargs))
    return collection[0]
  else:
    books = BOOKKEEPER_FACTORY(*args, g=graph, **kwargs)
    graph.add_to_collection(_BOOKKEEPER, books)
    return books