text: public static Transport open(Repository local, URIish uri, String remoteName)throws NotSupportedException, TransportException {for (WeakReference<TransportProtocol> ref : protocols) {TransportProtocol proto = ref.get();if (proto == null) {protocols.remove(ref);continue;}if (proto.canHandle(uri, local, remoteName)) {Transport tn = proto.open(uri, local, remoteName);tn.prePush = Hooks.prePush(local, tn.hookOutRedirect);tn.prePush.setRemoteLocation(uri.toString());tn.prePush.setRemoteName(remoteName);return tn;}}throw new NotSupportedException(MessageFormat.format(JGitText.get().URINotSupported, uri));}