code: @Override
    public void removeEntry(AclEntry entry) {
      switch (entry.getType()) {
        case NAMED_USER:
        case NAMED_GROUP:
        case MASK:
          super.removeEntry(entry);
          return;
        case OWNING_USER:
          Mode modeOwner = new Mode(mMode);
          modeOwner.setOwnerBits(Mode.Bits.NONE);
          if (mAccessAcl != null) {
            // overwrite the owner actions from the access ACL.
            modeOwner.setOwnerBits(new Mode(mAccessAcl.mMode).getOwnerBits());
          }
          mMode = modeOwner.toShort();
          return;
        case OWNING_GROUP:
          Mode modeGroup = new Mode(mMode);
          modeGroup.setGroupBits(Mode.Bits.NONE);
          if (mAccessAcl != null) {
            // overwrite the group actions from the access ACL.
            modeGroup.setGroupBits(new Mode(mAccessAcl.mMode).getGroupBits());
          }
          mMode = modeGroup.toShort();
          return;
        case OTHER:
          Mode modeOther = new Mode(mMode);
          modeOther.setOtherBits(Mode.Bits.NONE);
          if (mAccessAcl != null) {
            // overwrite the other actions from the access ACL.
            modeOther.setOtherBits(new Mode(mAccessAcl.mMode).getOtherBits());
          }
          mMode = modeOther.toShort();
          return;
        default:
          throw new IllegalStateException("Unknown ACL entry type: " + entry.getType());
      }
    }
docs: Removes the specified entry. A base entry is not allowed to be removed.
  
  @param entry the entry to be removed