}
// ----- protected methods -----
protected HtmlProperty findOrCreateAttributeKey(String name) {
HtmlProperty htmlProperty = null;
synchronized (htmlProperties) {
htmlProperty = htmlProperties.get(name);
}
if (htmlProperty == null) {
// try to find native html property defined in
// DOMElement or one of its subclasses
PropertyKey key = StructrApp.getConfiguration().getPropertyKeyForJSONName(entityType, name, false);
if (key != null && key instanceof HtmlProperty) {
htmlProperty = (HtmlProperty) key;
} else {
// create synthetic HtmlProperty
htmlProperty = new HtmlProperty(name);
htmlProperty.setDeclaringClass(DOMElement.class);
}
// cache property
synchronized (htmlProperties) {