code: public UnicodeSet applyIntPropertyValue(int prop, int value) {
          checkFrozen();
          if (prop == UProperty.GENERAL_CATEGORY_MASK) {
              applyFilter(new GeneralCategoryMaskFilter(value), UCharacterProperty.SRC_CHAR);
          } else if (prop == UProperty.SCRIPT_EXTENSIONS) {
              applyFilter(new ScriptExtensionsFilter(value), UCharacterProperty.SRC_PROPSVEC);
          } else {
              applyFilter(new IntPropertyFilter(prop, value), UCharacterProperty.INSTANCE.getSource(prop));
          }
          return this;
      }
docs: Modifies this set to contain those code points which have the
  given value for the given binary or enumerated property, as
  returned by UCharacter.getIntPropertyValue.  Prior contents of
  this set are lost.
  
  @param prop a property in the range
  UProperty.BIN_START..UProperty.BIN_LIMIT-1 or
  UProperty.INT_START..UProperty.INT_LIMIT-1 or.
  UProperty.MASK_START..UProperty.MASK_LIMIT-1.
  
  @param value a value in the range
  UCharacter.getIntPropertyMinValue(prop)..
  UCharacter.getIntPropertyMaxValue(prop), with one exception.
  If prop is UProperty.GENERAL_CATEGORY_MASK, then value should not be
  a UCharacter.getType() result, but rather a mask value produced
  by logically ORing (1 &lt;&lt; UCharacter.getType()) values together.
  This allows grouped categories such as [:L:] to be represented.
  
  @return a reference to this set