code: public int getSize() {
          return 8 + (objectFlags == null ? 0 : 4)
                  + (objectType == null ? 0 : 16)
                  + (inheritedObjectType == null ? 0 : 16)
                  + (sid == null ? 0 : sid.getSize())
                  + (applicationData == null ? 0 : applicationData.length);
      }
docs: An unsigned 16-bit integer that specifies the size, in bytes, of the ACE. The AceSize field can be greater than
  the sum of the individual fields, but MUST be a multiple of 4 to ensure alignment on a DWORD boundary. In cases
  where the AceSize field encompasses additional data for the callback ACEs types, that data is
  implementation-specific. Otherwise, this additional data is not interpreted and MUST be ignored.
  
  @return ACE size.