/// <summary>
 /// Create a new instance of CollabVersionControl, consisting of a CollabProxyClient and GitProxy
 /// </summary>
 protected CollabVersionControl([NotNull] CollabProxyClient collabProxyClient, [CanBeNull] IGitProxy gitProxy)
 {
     CollabProxyClient = collabProxyClient;
     Git = gitProxy ?? throw new ArgumentNullException(nameof(gitProxy), "gitProxy is required");
 }
 public GitProxy(CollabProxyClient tcpClient)
 {
     m_TcpClient = tcpClient ?? throw new ArgumentNullException();
 }
 /// <summary>
 /// Create a new instance of CollabVersionControl, consisting of a CollabProxyClient and GitProxy
 /// </summary>
 public CollabVersionControl()
 {
     CollabProxyClient = new CollabProxyClient();
     Git = new GitProxy(CollabProxyClient);
 }