@Override
  protected void mouseReleased(int mouseX, int mouseY, int state) {
    dragging = false;

    if (list.func_148181_b(mouseX, mouseY, state)) {
      return;
    }
    if (details.func_148181_b(mouseX, mouseY, state)) {
      return;
    }
    super.mouseReleased(mouseX, mouseY, state);
  }
  @Override
  protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException {
    if (mouseY > bottomLocation && mouseY < bottomLocation + MIDDLE_HEIGHT) {
      dragging = true;
      dragOffset = mouseY - bottomLocation;

      return;
    }

    if (list.func_148179_a(mouseX, mouseY, mouseButton)) {
      return;
    }
    if (details.func_148179_a(mouseX, mouseY, mouseButton)) {
      return;
    }
    super.mouseClicked(mouseX, mouseY, mouseButton);
  }