/**
  * 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;
 }
 /** {@inheritDoc} */
 @Override
 public void loadAdditionalSettingsFrom(
     final NodeSettingsRO settings, final PortObjectSpec[] specs) throws NotConfigurableException {
   IntensityBins bins = null;
   try {
     bins = new IntensityBins(settings.getNodeSettings(IntensityBinnerNodeModel.KEY_BIN_SETTINGS));
   } catch (InvalidSettingsException e) {
     // TODO
     throw new NotConfigurableException(e.getMessage(), e);
   }
   m_intervalPanel.removeAllIntervalItems();
   for (int i = 0; i < bins.getNumBins(); i++) {
     double binValue = bins.getBinValue(i);
     boolean leftOpen = bins.isLeftOpen(i);
     double left = bins.getLeftValue(i);
     boolean rightOpen = bins.isRightOpen(i);
     double right = bins.getRightValue(i);
     IntervalItemPanel item =
         new IntervalItemPanel(
             m_intervalPanel, leftOpen, left, rightOpen, right, binValue, DoubleCell.TYPE);
     m_intervalPanel.addIntervalItem(item);
   }
   updateInfo();
   getPanel().validate();
   getPanel().repaint();
 }