code: @Nullable
    public IURLProtocol getProtocol (@Nullable final String sURL)
    {
      if (sURL == null)
        return null;
  
      // Is called often - so no Lambdas
      m_aRWLock.readLock ().lock ();
      try
      {
        for (final IURLProtocol aProtocol : m_aProtocols.values ())
          if (aProtocol.isUsedInURL (sURL))
            return aProtocol;
        return null;
      }
      finally
      {
        m_aRWLock.readLock ().unlock ();
      }
    }
docs: Try to evaluate the matching URL protocol from the passed URL
  
  @param sURL
  The URL to get the protocol from
  @return The corresponding URL protocol or <code>null</code> if unresolved