/** * Get Descriptor from source. * @param mixed $source Source of Descriptor * @param IMode $mode * @return Descriptor */ private function getDescriptor($source, IMode $mode = NULL) { if ($source instanceof Descriptor) { return $mode === NULL ? $source : $source->addMode($mode); } else { return $this->thorin->createDescriptor($source, $mode); } }