docs: @SuppressWarnings({"deprecation", "UnusedReturnValue", "WeakerAccess"})
      public BUILDER removeFlag(final AttributeAccess.Flag flag) {
          if (!isFlagPresent(flag)) {
              return (BUILDER) this; //if not present no need to remove
          }
          final int length = flags.length;
          final AttributeAccess.Flag[] newFlags = new AttributeAccess.Flag[length - 1];
          int k = 0;
          for (AttributeAccess.Flag flag1 : flags) {
              if (flag1 != flag) {
                  newFlags[k] = flag1;
                  k++;
              }
          }
          //noinspection deprecation
          flags = newFlags;
          return (BUILDER) this;
      }