docs: protected boolean validate(char[] component, int soffset, int eoffset,
              BitSet generous) {
          // validate each component by generous characters
          if (eoffset == -1) {
              eoffset = component.length - 1;
          }
          for (int i = soffset; i <= eoffset; i++) {
              if (!generous.get(component[i])) { 
                  return false;
              }
          }
          return true;
      }