boolean canReadProperty(PropertyState property) {
ReadStatus rs = getReadStatus();
if (rs.includes(ReadStatus.ALLOW_PROPERTIES)) {
return true;
} else if (rs.appliesToThis()) {
rs = permissionProvider.getReadStatus(base, property);
return rs.isAllow();
} else {
return false;
}