src/QueryPipeline/Chain.cpp
```
void Chain::addSink(ProcessorPtr processor)
{
    checkTransform(*processor);

    if (!processors.empty())
        connect(getOutputPort(), processor->getInputs().front());

    processors.emplace_front(std::move(processor));
}
```
Is there should be : 
```
processors.emplace_back(...) 
```
    /// -> source -> transform -> ... -> transform -> sink ->
    ///  ^        ->           ->     ->           ->       ^
    ///  input port                               output port
    std::list<ProcessorPtr> processors;
{
    checkTransform(*processor);
    if (!processors.empty())
        connect(processor->getOutputs().front(), getInputPort());
    processors.emplace_front(std::move(processor));
}
void Chain::addSink(ProcessorPtr processor)
{
    checkTransform(*processor);
    if (!processors.empty())
        connect(getOutputPort(), processor->getInputs().front());
    processors.emplace_front(std::move(processor));
}
IProcessor & Chain::getSource()