List<AttributeFieldError> errors = super.validate(tracer);
try {
if (null == this.getResource()) return errors;
List<LinkedArea> areas = this.getAreas();
for (int i = 0; i < areas.size(); i++) {
LinkedArea area = (LinkedArea) areas.get(i);
AttributeTracer areaTracer = (AttributeTracer) tracer.clone();
areaTracer.setMonoListElement(true);
areaTracer.setListIndex(i);
LinkAttribute linkAttribute = area.getLink();
if (null != linkAttribute) {
errors.addAll(linkAttribute.validate(areaTracer));
}
String coords = area.getCoords();
boolean isShapeValued = (area.getShape() != null && area.getShape().trim().length() > 0 );
boolean isCoordsValued = (coords!= null && coords.trim().length() > 0 && this.isValidNumber(coords));
if (!isShapeValued || !isCoordsValued) {
errors.add(new AttributeFieldError(this, INVALID_LINKED_AREA_ERROR, areaTracer));
/*
String formFieldName = tracer.getFormFieldName(imageMapAttribute);