private List<Statement> deleteTheSame(List<Statement> a) {
        if (a == null)
            return a;
        if (a.isEmpty())
            return a;
        List<Statement> elementsToRemove = new LinkedList<Statement>();
        for(int i = 0; i < a.size(); i++)
            for(int j = i+1; j < a.size(); j++)
                if(compareExpressions(a.get(i), a.get(j)))
                    elementsToRemove.add(a.get(j));
        for(Statement s: elementsToRemove)
            a.remove(s);
        return a;
    }