@Nullable
  public static ArrayRenderer getArrayRenderer(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;
  }
@Nullable
  public static ArrayRenderer getArrayRenderer(XValue value)