Fork:
  - set_source():
    - clear() state even if previous source was not a Fork
    - throw exception if fork not found in previous source downstream forks

  - improve documentation