/**
  * @param \Heystack\Core\DataObjectSchema\SchemaInterface $schema
  * @return void
  */
 public function addSchema(SchemaInterface $schema)
 {
     $identifier = strtolower($schema->getIdentifier()->getFull());
     if ($schema->getReference()) {
         $this->referenceSchemas[$identifier] = $schema;
     } else {
         if ($this->hasSchema($identifier) && !$schema->getReplace()) {
             $this->schemas[$identifier]->mergeSchema($schema);
         } else {
             $this->schemas[$identifier] = $schema;
         }
     }
 }