docs: public static Map<String, String[]> mapUrlEncodedParameters(byte[] dataArray) throws Exception {
          Map<String, String[]> mapPostParameters = new HashMap<String, String[]>();
  
          try {
              ByteArrayOutputStream byteout = new ByteArrayOutputStream();
              for (int x = 0; x < dataArray.length; x++) {
                  // split the data up by & to get the parts
                  if (dataArray[x] == '&' || x == (dataArray.length - 1)) {
                      if (x == (dataArray.length - 1)) {
                          byteout.write(dataArray[x]);
                      }
                      // find '=' and split the data up into key value pairs
                      int equalsPos = -1;
                      ByteArrayOutputStream key = new ByteArrayOutputStream();
                      ByteArrayOutputStream value = new ByteArrayOutputStream();
                      byte[] byteArray = byteout.toByteArray();
                      for (int xx = 0; xx < byteArray.length; xx++) {
                          if (byteArray[xx] == '=') {
                              equalsPos = xx;
                          } else {
                              if (equalsPos == -1) {
                                  key.write(byteArray[xx]);
                              } else {
                                  value.write(byteArray[xx]);
                              }
                          }
                      }
  
                      ArrayList<String> values = new ArrayList<String>();
  
                      if (mapPostParameters.containsKey(key.toString())) {
                          values = new ArrayList<String>(Arrays.asList(mapPostParameters.get(key.toString())));
                          mapPostParameters.remove(key.toString());
                      }
  
                      values.add(value.toString());
                      /**
                       * If equalsPos is not -1, then there was a '=' for the key
                       * If value.size is 0, then there is no value so want to add in the '='
                       * Since it will not be added later like params with keys and valued
                       */
                      if (equalsPos != -1 && value.size() == 0) {
                          key.write((byte) '=');
                      }
  
                      mapPostParameters.put(key.toString(), values.toArray(new String[values.size()]));
  
                      byteout = new ByteArrayOutputStream();
                  } else {
                      byteout.write(dataArray[x]);
                  }
              }
          } catch (Exception e) {
              throw new Exception("Could not parse request data: " + e.getMessage());
          }
  
          return mapPostParameters;
      }