private int getFrameForReplacement(){
    int frameID = -1;

    for (int i=0; i<this.frames.length && frameID == -1; i++){
      if( this.pinCount[i] == 0 ) frameID = i;
    }

    // System.out.println( "Replacement frame is " + frameID );

    if( frameID != -1 && dirty[frameID] ){
      writeBlock(frameID);
    }

    return frameID;
  }