public void SimpleRunSameGameLinks(String dataFile, String outputFile){
        if(localconditions == null)
        {
            localconditions = new String[0];
        }
        globalLinkCounter = 0;
        L = new LinkSet();
        MatchData M = new MatchData(dataFile);
        Match m;
        int c = 0;
        int read = 0;
        while((m = M.getNext()) != null)
        {
            read++;
            if(m.getDuration() > 0 && m.matchValid(true))
            {
                extractLinksMatch(m);
                c++;
                if(c%10000 ==0)
                {
                    System.out.println(c + " done. Size of tree: " + L.size());
                }
            }
            else
            {
                writeToLog("Match rejected: " + m.shortToString());
            }
        }
        writeToLog("SimpleRunOpposingSideLinks, read: " +read + " used: " + c);
        writeToLog("Input: " + dataFile + " output: " + outputFile);
        System.out.println(c + " done. Size of tree: " + L.size());
        System.out.println("links added (including weight increments) " + globalLinkCounter);
        L.writePartFile(outputFile);
        closeLog();
    }