docs: public final String getFixString(final int len, String charsetName) {
          if (position + len > origin + limit) throw new IllegalArgumentException("limit excceed: "
                                                                                  + (position + len - origin));
  
          final int from = position;
          final int end = from + len;
          byte[] buf = buffer;
          int found = from;
          for (; (found < end) && buf[found] != '\0'; found++)
              /* empty loop */;
  
          try {
              String string = new String(buf, from, found - from, charsetName);
              position += len;
              return string;
          } catch (UnsupportedEncodingException e) {
              throw new IllegalArgumentException("Unsupported encoding: " + charsetName, e);
          }
      }