void produceChangedParts(java.util.List<? super LineExtensionInfo> result) {
        Couple<String> wrapperActual = getArrayWrapper(actual);
        if (wrapperActual != null && getArrayWrapper(old) != null) {
          java.util.List<String> actualParts = getArrayParts(actual);
          java.util.List<String> oldParts = getArrayParts(old);
          //noinspection HardCodedStringLiteral
          result.add(new LineExtensionInfo(wrapperActual.first, getNormalAttributes()));
          for (int i = 0; i < actualParts.size(); i++) {
            if (i < oldParts.size() && StringUtil.equals(actualParts.get(i), oldParts.get(i))) {
              result.add(new LineExtensionInfo(actualParts.get(i), getNormalAttributes()));
            } else {
              result.add(new LineExtensionInfo(actualParts.get(i), getChangedAttributes()));
            }
            if (i != actualParts.size() - 1) {
              result.add(new LineExtensionInfo(ARRAY_DELIMITER, getNormalAttributes()));
            }
          }
          result.add(new LineExtensionInfo(wrapperActual.second, getNormalAttributes()));
          return;
        }

        result.add(new LineExtensionInfo(actual, getChangedAttributes()));
      }
void produceChangedParts(java.util.List<? super LineExtensionInfo> result)