@SuppressWarnings("unchecked")
  public IRelation getTailRelationView(final IPredicate pred) {

    final int nsources = pred.getRelationCount();

    if (nsources == 1) {

      return (IRelation) resourceLocator.locate(pred.getOnlyRelationName(), getReadTimestamp());

    } else if (nsources == 2) {

      final IRelation<?> relation0 =
          (IRelation) resourceLocator.locate(pred.getRelationName(0), readTimestamp);

      final IRelation<?> relation1 =
          (IRelation) resourceLocator.locate(pred.getRelationName(1), readTimestamp);

      return new RelationFusedView(relation0, relation1).init();

    } else {

      throw new UnsupportedOperationException();
    }
  }