myUserInfo = new NotificationMap(MapUtils.toStringMap(_entityMap.getMap("userInfo", true)));
setUserInfo(MapUtils.toStringMap(_entityMap.getMap("userInfo", true)), false);
  public void loadFromMap(EOModelMap _entityMap, Set _failures) throws DuplicateRelationshipNameException, DuplicateAttributeNameException {    myEntityMap = _entityMap;    myName = _entityMap.getString("name", true); //$NON-NLS-1$    myExternalName = _entityMap.getString("externalName", true); //$NON-NLS-1$    myClassName = _entityMap.getString("className", true); //$NON-NLS-1$    myCachesObjects = _entityMap.getBoolean("cachesObjects"); //$NON-NLS-1$    myAbstractEntity = _entityMap.getBoolean("isAbstractEntity"); //$NON-NLS-1$    myReadOnly = _entityMap.getBoolean("readOnly"); //$NON-NLS-1$    myRestrictingQualifier = _entityMap.getString("restrictingQualifier", true); //$NON-NLS-1$    myExternalQuery = _entityMap.getString("externalQuery", true); //$NON-NLS-1$    myMaxNumberOfInstancesToBatchFetch = _entityMap.getInteger("maxNumberOfInstancesToBatchFetch"); //$NON-NLS-1$    myUserInfo = new NotificationMap(MapUtils.toStringMap(_entityMap.getMap("userInfo", true))); //$NON-NLS-1$    //Map fetchSpecifications = _entityMap.getMap("fetchSpecificationDictionary");    // TODO: Fetch Specs    List attributeList = _entityMap.getList("attributes"); //$NON-NLS-1$    if (attributeList != null) {      Iterator attributeIter = attributeList.iterator();      while (attributeIter.hasNext()) {        EOModelMap attributeMap = new EOModelMap((Map) attributeIter.next());        EOAttribute attribute = new EOAttribute(this);        attribute.loadFromMap(attributeMap, _failures);        addAttribute(attribute, false, _failures);      }    }    List relationshipList = _entityMap.getList("relationships"); //$NON-NLS-1$    if (relationshipList != null) {      Iterator relationshipIter = relationshipList.iterator();      while (relationshipIter.hasNext()) {        EOModelMap relationshipMap = new EOModelMap((Map) relationshipIter.next());        EORelationship relationship = new EORelationship(this);        relationship.loadFromMap(relationshipMap, _failures);        addRelationship(relationship, false, _failures);      }    }    List attributesUsedForLocking = _entityMap.getList("attributesUsedForLocking"); //$NON-NLS-1$    if (attributesUsedForLocking != null) {      Iterator attributesUsedForLockingIter = attributesUsedForLocking.iterator();      while (attributesUsedForLockingIter.hasNext()) {        String attributeName = (String) attributesUsedForLockingIter.next();        EOAttribute attribute = getAttributeNamed(attributeName);        if (attribute != null) {          attribute.setUsedForLocking(Boolean.TRUE, false);        }      }    }    List classProperties = _entityMap.getList("classProperties"); //$NON-NLS-1$    if (classProperties != null) {      Iterator classPropertiesIter = classProperties.iterator();      while (classPropertiesIter.hasNext()) {        String attributeName = (String) classPropertiesIter.next();        IEOAttribute attribute = _getAttributeNamed(attributeName);        if (attribute != null) {          attribute.setClassProperty(Boolean.TRUE, false);        }      }    }    List primaryKeyAttributes = _entityMap.getList("primaryKeyAttributes"); //$NON-NLS-1$    if (primaryKeyAttributes != null) {      Iterator primaryKeyAttributesIter = primaryKeyAttributes.iterator();      while (primaryKeyAttributesIter.hasNext()) {        String attributeName = (String) primaryKeyAttributesIter.next();        EOAttribute attribute = getAttributeNamed(attributeName);        if (attribute != null) {          attribute.setPrimaryKey(Boolean.TRUE, false);        }      }    }    Map internalInfo = _entityMap.getMap("internalInfo"); //$NON-NLS-1$    if (internalInfo != null) {      List clientClassPropertyNames = _entityMap.getList("_clientClassPropertyNames"); //$NON-NLS-1$      if (clientClassPropertyNames != null) {        Iterator clientClassPropertyNameIter = clientClassPropertyNames.iterator();        while (clientClassPropertyNameIter.hasNext()) {          String attributeName = (String) clientClassPropertyNameIter.next();          EOAttribute attribute = getAttributeNamed(attributeName);          if (attribute != null) {            attribute.setClientClassProperty(Boolean.TRUE);          }        }      }    }  }