docs: @Override
      public int getType () throws CIFSException {
          if ( this.type == 0 ) {
              if ( getUNCPath().length() > 1 ) {
                  this.type = SmbConstants.TYPE_FILESYSTEM;
              }
              else if ( getShare() != null ) {
                  if ( getShare().equals("IPC$") ) {
                      this.type = SmbConstants.TYPE_NAMED_PIPE;
                  }
                  else {
                      this.type = SmbConstants.TYPE_SHARE;
                  }
              }
              else if ( this.url.getAuthority() == null || this.url.getAuthority().isEmpty() ) {
                  this.type = SmbConstants.TYPE_WORKGROUP;
              }
              else {
                  try {
                      NetbiosAddress nbaddr = getAddress().unwrap(NetbiosAddress.class);
                      if ( nbaddr != null ) {
                          int code = nbaddr.getNameType();
                          if ( code == 0x1d || code == 0x1b ) {
                              this.type = SmbConstants.TYPE_WORKGROUP;
                              return this.type;
                          }
                      }
                  }
                  catch ( CIFSException e ) {
                      if ( ! ( e.getCause() instanceof UnknownHostException ) ) {
                          throw e;
                      }
                      log.debug("Unknown host", e);
                  }
                  this.type = SmbConstants.TYPE_SERVER;
              }
          }
          return this.type;
      }