code: public ACE[] getSecurity(boolean resolveSids) throws IOException {
          int f;
          ACE[] aces;
  
          f = open0( O_RDONLY, READ_CONTROL, 0, isDirectory() ? 1 : 0 );
  
          /*
           * NtTrans Query Security Desc Request / Response
           */
  
          NtTransQuerySecurityDesc request = new NtTransQuerySecurityDesc( f, 0x04 );
          NtTransQuerySecurityDescResponse response = new NtTransQuerySecurityDescResponse();
  
          try {
              send( request, response );
          } finally {
              close( f, 0L );
          }
  
          aces = response.securityDescriptor.aces;
          if (aces != null)
              processAces(aces, resolveSids);
  
          return aces;
      }
docs: Return an array of Access Control Entry (ACE) objects representing
  the security descriptor associated with this file or directory.
  If no DACL is present, null is returned. If the DACL is empty, an array with 0 elements is returned.
  @param resolveSids Attempt to resolve the SIDs within each ACE form
  their numeric representation to their corresponding account names.