public function build($objType, $metadataIdent = null, $sourceIdent = null)
    {
        $metadata = $this->createMetadata($objType, $metadataIdent);
        $source = $this->createSource($metadata, $sourceIdent);
        $args = array_merge($this->factory->arguments(), [
            'metadata'  => $metadata,
            'source'    => $source
        ]);
        $model = $this->factory->create($objType, $args);
        $model->source()->setModel($model);
        return $model;
    }