private void repairNext(final double value) {
   IntervalItemPanel next = m_parent.getNext(this);
   if (next != null) {
     if (next.getLeftValue(false) != value) {
       next.setLeftValue(value);
       if (next.getRightValue(false) < value) {
         next.setRightValue(value);
       }
     }
     if (next.isLeftOpen() == isRightOpen()) {
       next.setLeftOpen(!isRightOpen());
     }
   } else {
     setRightValue(null);
     setRightOpen(true);
   }
 }
 private void repairPrev(final double value) {
   IntervalItemPanel prev = m_parent.getPrevious(this);
   if (prev != null) {
     if (prev.getRightValue(false) != value) {
       prev.setRightValue(value);
       if (prev.getLeftValue(false) > value) {
         prev.setLeftValue(value);
       }
     }
     if (prev.isRightOpen() == isLeftOpen()) {
       prev.setRightOpen(!isLeftOpen());
     }
   } else {
     setLeftValue(null);
     setLeftOpen(true);
   }
 }
 /**
  * Helper method to create the {@link IntensityBins}-object from the IntervalPanel.
  *
  * @return
  */
 private IntensityBins createPixelBins() {
   IntensityBins bins = new IntensityBins(m_intervalPanel.getNumIntervals());
   for (int j = 0; j < m_intervalPanel.getNumIntervals(); j++) {
     IntervalItemPanel p = m_intervalPanel.getInterval(j);
     bins.setBinAtIndex(
         j,
         p.getBinValue(),
         p.isLeftOpen(),
         p.getLeftValue(false),
         p.isRightOpen(),
         p.getRightValue(false));
   }
   return bins;
 }