/**
  * Returns specific schema from composer.json file.
  *
  * @param string $file Path to file
  * @author peshkov@UD
  * @return mixed array or false
  */
 public function get_schema($key = '')
 {
     if ($this->schema === null) {
         if (!empty($this->schema_path) && file_exists($this->schema_path)) {
             $this->schema = (array) \UsabilityDynamics\Utility::l10n_localize(json_decode(file_get_contents($this->schema_path), true), (array) $this->get_localization());
         }
     }
     //** Break if composer.json does not exist */
     if (!is_array($this->schema)) {
         return false;
     }
     //** Resolve dot-notated key. */
     if (strpos($key, '.')) {
         $current = $this->schema;
         $p = strtok($key, '.');
         while ($p !== false) {
             if (!isset($current[$p])) {
                 return false;
             }
             $current = $current[$p];
             $p = strtok('.');
         }
         return $current;
     } else {
         return isset($this->schema[$key]) ? $this->schema[$key] : false;
     }
 }