return subregistry.getAttributeAccess(iterator, next.getValue(), attributeName);
} else {
checkPermission();
final Map<String, AttributeAccess> snapshot = attributesUpdater.get(this);
AttributeAccess access = snapshot.get(attributeName);
<BUG>if (access == null && hasNoAlternativeWildcardRegistration()) {
final ModelNode desc = resourceDefinition.getDescriptionProvider(this).getModelDescription(null);</BUG>
if (desc.has(ATTRIBUTES) && desc.get(ATTRIBUTES).keys().contains(attributeName)) {
access = new AttributeAccess(AccessType.READ_ONLY, Storage.CONFIGURATION, null, null, null, null);
}

return subregistry.getAttributeAccess(iterator, next.getValue(), attributeName);
} else {
checkPermission();
final Map<String, AttributeAccess> snapshot = attributesUpdater.get(this);
AttributeAccess access = snapshot.get(attributeName);
if (access == null && hasNoAlternativeWildcardRegistration()) {
DescriptionProvider provider = resourceDefinition.getDescriptionProvider(this);
if (provider instanceof DefaultResourceDescriptionProvider){
return null; // attribute was not registered so it does not exist. no need to read resource description as we wont find anything and cause SO
}
final ModelNode desc = resourceDefinition.getDescriptionProvider(this).getModelDescription(null);
if (desc.has(ATTRIBUTES) && desc.get(ATTRIBUTES).keys().contains(attributeName)) {
access = new AttributeAccess(AccessType.READ_ONLY, Storage.CONFIGURATION, null, null, null, null);
