}
}
private OPropertyImpl addNewProperty(final String iName, final OType iType, final OType iLinkedType, final OClass iLinkedClass) {
if (iName == null || iName.length() == 0)
throw new OSchemaException("Found property name null");
final Character wrongCharacter = OSchemaShared.checkNameIfValid(iName);
if (wrongCharacter != null)
throw new OSchemaException("Found invalid property name. Character '" + wrongCharacter + "' can't be used in property name.");
final String lowerName = iName.toLowerCase();
if (properties.containsKey(lowerName))
throw new OSchemaException("Class " + name + " already has the property '" + iName + "'");
final OPropertyImpl prop = new OPropertyImpl(this, iName, iType);
properties.put(lowerName, prop);
fixedSize += iType.size;