Bug 413207: Fixed NPE if there is no underlying layer/dim
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/DimBasedLayer.java b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/DimBasedLayer.java
index 57bf9ef..76c2145 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/DimBasedLayer.java
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/DimBasedLayer.java
@@ -43,6 +43,9 @@
 	}
 	
 	private static List<ILayer> convertDim2LayerList(final Collection<ILayerDim> dims) {
+		if (dims == null) {
+			return null;
+		}
 		switch (dims.size()) {
 		case 0:
 			return Collections.emptyList();
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/HorizontalLayerDim.java b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/HorizontalLayerDim.java
index af6f29b..d20a0ae 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/HorizontalLayerDim.java
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/HorizontalLayerDim.java
@@ -69,6 +69,10 @@
 	public List<ILayerDim> getUnderlyingDimsByPosition(final int position) {
 		final Collection<ILayer> underlyingLayers = this.layer.getUnderlyingLayersByColumnPosition(
 				position );
+		if (underlyingLayers == null) {
+			return null;
+		}
+		
 		final List<ILayerDim> underlyingDims = new ArrayList<ILayerDim>(underlyingLayers.size());
 		for (final ILayer underlyingLayer : underlyingLayers) {
 			underlyingDims.add(underlyingLayer.getDim(this.orientation));
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/VerticalLayerDim.java b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/VerticalLayerDim.java
index b053767..06e3933 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/VerticalLayerDim.java
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/VerticalLayerDim.java
@@ -69,6 +69,10 @@
 	public List<ILayerDim> getUnderlyingDimsByPosition(final int position) {
 		final Collection<ILayer> underlyingLayers = this.layer.getUnderlyingLayersByRowPosition(
 				position );
+		if (underlyingLayers == null) {
+			return null;
+		}
+		
 		final List<ILayerDim> underlyingDims = new ArrayList<ILayerDim>(underlyingLayers.size());
 		for (final ILayer underlyingLayer : underlyingLayers) {
 			underlyingDims.add(underlyingLayer.getDim(this.orientation));