public static AutomatonTable getConnections(Map<Integer, ZState> states){
        List<Connection> connections = new ArrayList<>(states.size());
        List<String> ids = new ArrayList<>();
        List<boolean []> codes = new ArrayList<>();
        
        AutomatonTable table = new AutomatonTable();
        table.connections = connections;
        table.ids = ids;
        table.codes = codes;
        
        for (Map.Entry<Integer, ZState> entry : states.entrySet()) {
            
            ZState zState = entry.getValue();
            
            if(zState.signalId != null){
                ids.add(zState.signalId);
            }else{
                ids.add("0");
            }
            
            boolean[] code =SynchroState.intToCode(zState.code, getPower(states)[0]);
            codes.add(code);
            
            for(Connection conn : zState.fromConnections){
                if(!connections.contains(conn)){
                    
                    connections.add(conn);
                }
            }
            
        }
        return table;
    }