static void addMemberAccessors(final PsiElement element, final String prefix, final PsiType itemType,
                                 final PsiElement qualifier, final Consumer<? super LookupElement> result, PsiModifierListOwner object,
                                 final PsiType expectedType)
    throws IncorrectOperationException {
    if (itemType instanceof PsiArrayType && expectedType.isAssignableFrom(((PsiArrayType)itemType).getComponentType())) {
      final PsiExpression conversion = createExpression(getQualifierText(qualifier) + prefix + "[0]", element);
      result.consume(new ExpressionLookupItem(conversion, object.getIcon(Iconable.ICON_FLAG_VISIBILITY), prefix + "[...]", prefix) {
        @Override
        public void handleInsert(@NotNull InsertionContext context) {
          FeatureUsageTracker.getInstance().triggerFeatureUsed(JavaCompletionFeatures.SECOND_SMART_COMPLETION_ARRAY_MEMBER);

          final int tailOffset = context.getTailOffset();
          final String callSpace = getSpace(
            CodeStyle.getLanguageSettings(context.getFile()).SPACE_WITHIN_BRACKETS);
          context.getDocument().insertString(tailOffset, "[" + callSpace + callSpace + "]");
          context.getEditor().getCaretModel().moveToOffset(tailOffset + 1 + callSpace.length());
        }
      });
    }
  }
static void addMemberAccessors(final PsiElement element, final String prefix, final PsiType itemType,
                                 final PsiElement qualifier, final Consumer<? super LookupElement> result, PsiModifierListOwner object,
                                 final PsiType expectedType)