.catch((err) => {
   if (err == '404') {
     return dispatch(RR.replace({
       pathname: `/events`
     }));
   }
   return Promise.reject(err);
 })
    .then((items) => {
      const [ instanceItem ] = items.filter(({ aggregateId }) => (aggregateId == instanceId));
      if (instanceItem) {
        // instanceItem exists, continue:
        return Promise.resolve();
      }

      if (!noRouting) {
        dispatch(RR.replace({
          pathname: `/404`, query: {
            page: 'instances',
            typeName,
            instanceId
          }
        }));
      }

      return Promise.reject();

    });
    .then((items) => {

      const [ typeItem ] = items.filter(({ name }) => (name == typeName));
      if (typeItem) {
        // typeItem exists, continue:
        return Promise.resolve();
      }

      if (!noRouting) {
        dispatch(RR.replace({
          pathname: `/404`, query: {
            page: 'types',
            typeName
          }
        }));
      }

      return Promise.reject();

    });