code: private boolean doInheritedObjectTypesMatch(byte[] aceInhObjectType, final String assertionInhObjectType,
              final AceObjectFlags assertionObjFlags) {
          boolean res = true;
          if (assertionObjFlags == null) {
              return res;
          }
  
          if ((assertionObjFlags.asUInt()
                  & Flag.ACE_INHERITED_OBJECT_TYPE_PRESENT.getValue())
                  == Flag.ACE_INHERITED_OBJECT_TYPE_PRESENT.getValue()) {
              if (aceInhObjectType == null || !GUID.getGuidAsString(aceInhObjectType).equals(assertionInhObjectType)) {
                  res = false;
              }
          }
          LOG.debug("doInheritedObjectTypesMatch, result: {}", res);
          return res;
      }
docs: Checks whether the inherited object type identified by the ACE matches the inherited object type of the
  AceAssertion given. If the {@code assertionObjFlags} are null, or they do not specify
  ACE_INHERITED_OBJECT_TYPE_PRESENT, a true result is returned.
  
  @param aceInhObjectType
  byte array containing the ACE inheritedObjectType GUID
  @param assertionInhObjectType
  String containing the AceAssertion inheritedObjectType
  @param assertionObjFlags
  AceObjectFlags from the AceAssertion
  @return true if match, false if not