docs: function checkForSuffix(mmn, mmns, resultobj, suffix){
      var reponame, namespace, secondunderscorepos, group, lastindex;
      lastindex = mmns.lastIndexOf(suffix.group);
      if(lastindex<1 || lastindex!==mmns.length-suffix.group.length){
        return resultobj;
      }
      reponame = mmn.substring(suffix.username.length+1,mmn.length-suffix.group.length+1);
      namespace = null;
      if(reponame.charAt(0)==='_'){
        secondunderscorepos = (reponame.substring(1)).indexOf('_');
        if(secondunderscorepos>0){
          secondunderscorepos++; //because of reponame's substring(1)
          namespace = reponame.substring(1,secondunderscorepos);
          reponame = reponame.substring(secondunderscorepos+1);
          group = suffix.username+'_'+namespace+'_'+suffix.group;
        }
      }
      if(!group){
        group = suffix.username+'_'+suffix.group;
      }
      if (resultobj.matchlen >= suffix.group.length) {
        return resultobj;
      }
  
      switch (suffix.type) {
        case 'git':
          resultobj.matchlen = suffix.group.length;
          resultobj.result = {
            modulename: mmn,
            username: suffix.username,
            gitclonestring: descuserlib.gitclonestring(suffix, reponame),
            npmstring : descuserlib.gitsshnpmstring(suffix, reponame),
            group: suffix.group,
            reponame: reponame,
            namespace: namespace
          };
          return resultobj;
        case 'npm':
          resultobj.matchlen = suffix.group.length;
          resultobj.result = {
            modulename: mmn,
            username: suffix.username,
            npmstring : mmn,
            group: suffix.group,
            namespace: namespace
          };
          return resultobj;
      }
      return resultobj;
    }