code: protected ILocationData toLocationData(List<INode> nodes) {
  		ITextRegionWithLineInformation result = ITextRegionWithLineInformation.EMPTY_REGION;
  		for (INode node : nodes) {
  			if (!isHidden(node)) {
  				ITextRegionWithLineInformation region = node.getTextRegionWithLineInformation();
  				if (region.getLength() != 0) {
  					result = result.merge(new TextRegionWithLineInformation(region.getOffset(), region.getLength(), region.getLineNumber() - 1, region.getEndLineNumber() - 1));
  				}
  			}
  		}
  		if (result.getLength() == 0)
  			return null;
  		return new LocationData(result.getOffset(), result.getLength(), result.getLineNumber(),
  				result.getEndLineNumber(), null);
  	}
docs: /* @Nullable