/**
   * Creates an SCAudioClip from the given URI and adds it to the list of available audio-s.
   *
   * @param uri the path where the audio file could be found
   */
  public SCAudioClip createAudio(String uri) {
    SCAudioClipImpl audioClip;

    synchronized (audioClips) {
      if (audioClips.containsKey(uri)) {
        audioClip = audioClips.get(uri);
      } else {
        URL url = AudioNotifierActivator.getResources().getSoundURLForPath(uri);

        if (url == null) {
          // Not found by the class loader. Perhaps it's a local file.
          try {
            url = new URL(uri);
          } catch (MalformedURLException e) {
            // logger.error("The given uri could not be parsed.", e);
          }
        }
        audioClip = new SCAudioClipImpl(url, this);

        audioClips.put(uri, audioClip);
      }
    }

    return audioClip;
  }