docs: function loadJsonFile(filename, cache, cwd)
  {
      let _content = null;
      if (filename.toLowerCase().endsWith('.json'))
      {
          const _filename = path.resolve(cwd, filename);
          if (fs.existsSync(_filename))
          {
              if (_filename in cache)
              {
                  _content = cache[_filename];
              }
              else
              {
                  //------------------------------------------------------------------------------
                  // La doble asignación se hace para evitar recursividades ya que si se trata de
                  // incluir el mismo archivo al estar en caché no se analizaría.
                  // Es un caso que no debería darse pero lo contemplamos.
                  //------------------------------------------------------------------------------
                  cache[_filename] = _content = fs.readFileSync(_filename, 'utf8');
                  cache[_filename] = _content = parseJson(_content, cache, path.dirname(_filename));
              }
          }
          else
          {
              cache[_filename] = null;
          }
      }
      else
      {
          try
          {
              JSON.parse(filename);
              _content = parseJson(filename, cache, cwd);
          }
          catch (e)
          {
          }
      }
  
      return _content;
  }