@Override protected void applyToNode(MapNode node) { if (node.getTags().containsKey("ele") && node.getRepresentations().isEmpty()) { boolean isInGroundSegment = false; for (MapSegment segment : node.getConnectedSegments()) { MapElement element; if (segment instanceof MapWaySegment) { element = (MapWaySegment) segment; } else { element = ((MapAreaSegment) segment).getArea(); } if (element.getPrimaryRepresentation() != null && element.getPrimaryRepresentation().getGroundState() == GroundState.ON) { isInGroundSegment = true; break; } } if (node.getConnectedSegments().isEmpty() || isInGroundSegment) { node.addRepresentation(new InvisibleEleNode(node)); } } }