docs: public static VersionCompare forString(final String value) {
  
          VersionCompare vers = new VersionCompare();
          if (null == value || "".equals(value)) {
              return vers;
          }
  
          String[] parr1 = value.split("-", 2);
          String[] v1arr = parr1[0].split("\\.", 3);
          if (v1arr.length > 0) {
              vers.majString = v1arr[0];
              try {
                  vers.maj = Integer.parseInt(vers.majString);
              } catch (NumberFormatException e) {
              }
          }
          if (v1arr.length > 1) {
              vers.minString = v1arr[1];
              try {
                  vers.min = Integer.parseInt(vers.minString);
              } catch (NumberFormatException e) {
              }
          }
          if (v1arr.length > 2) {
              vers.patchString = v1arr[2];
              try {
                  vers.patch = Integer.parseInt(vers.patchString);
              } catch (NumberFormatException e) {
              }
          }
          if (parr1.length > 1) {
              vers.tag = parr1[1];
          }
          return vers;
      }