public void WriteBack(int block) {
             
        int TAG;
        String ADDR="";
        String DATA="";
        
        TAG = Integer.parseInt(TakeDataBitsFromtheBlock(block, 7, 19),2);
        int indexStart=20, indexEnd=39; // first word in the CACHE
                
        for (int i=1;i<=4;i++) {
           DATA = TakeDataBitsFromtheBlock(block, i*indexStart, indexEnd+((i-1)*indexStart));
           ADDR = Long.toBinaryString(TAG + i -1);
           ADDR = String.format("%0" + (20-ADDR.length())+ "d", 0) + ADDR;
           ControlPanel.MEMORY.setDirect(DATA, ADDR);
        }
  }