return this;
}
public OPropertyImpl addPropertyInternal(final String name, final OType type, final OType linkedType, final OClass linkedClass) {
if (name == null || name.length() == 0)
throw new OSchemaException("Found property name null");
final Character wrongCharacter = OSchemaShared.checkNameIfValid(name);
if (wrongCharacter != null)
throw new OSchemaException("Invalid property name found. Character '" + wrongCharacter + "' cannot be used in property name.");
final String lowerName = name.toLowerCase();
acquireSchemaWriteLock();
try {
checkEmbedded();
if (properties.containsKey(lowerName))
throw new OSchemaException("Class " + this.name + " already has property '" + name + "'");
OGlobalProperty global = owner.findOrCreateGlobalProperty(name, type);
final OPropertyImpl prop = new OPropertyImpl(this, global);