ArrayRenderer (XValue value) { if (value instanceof JavaValue) { ValueDescriptorImpl descriptor = ((JavaValue)value).getDescriptor(); Renderer lastRenderer = descriptor.getLastRenderer(); if (lastRenderer instanceof CompoundReferenceRenderer) { ChildrenRenderer childrenRenderer = ((CompoundReferenceRenderer)lastRenderer).getChildrenRenderer(); if (childrenRenderer instanceof ExpressionChildrenRenderer) { lastRenderer = ExpressionChildrenRenderer.getLastChildrenRenderer(descriptor); if (lastRenderer == null) { lastRenderer = ((ExpressionChildrenRenderer)childrenRenderer).getPredictedRenderer(); } } } if (lastRenderer instanceof ArrayRenderer) { return (ArrayRenderer)lastRenderer; } } return null; }