docs: static Object extractAttributeValue(Extractors extractors, InternalSerializationService serializationService,
                                          String attributeName, Data key, Object value, Object metadata) throws QueryException {
          Object result = extractAttributeValueIfAttributeQueryConstant(serializationService, attributeName, key, value);
          if (result == null) {
              boolean isKey = startsWithKeyConstant(attributeName);
              attributeName = getAttributeName(isKey, attributeName);
              Object target = isKey ? key : value;
              result = extractAttributeValueFromTargetObject(extractors, attributeName, target, metadata);
          }
          return result;
      }