docs: function _gpfQueryInterface (objectInstance, interfaceDefinition, throwError) {
      var result = null;
      if (_gpfIsImplementedBy(objectInstance, interfaceDefinition)) {
          return objectInstance;
      } else if (_gpfIsImplementedBy(objectInstance, gpf.interfaces.IUnknown)) {
          result = objectInstance.queryInterface(interfaceDefinition);
      }
      if (null === result && (undefined === throwError || throwError)) {
          gpf.Error.interfaceExpected({
              name: _gpfGetClassDefinition(interfaceDefinition)._name
          });
      }
      return result;
  }