@Override public void readFrom(StreamInput in) throws IOException { index = in.readSharedString(); type = in.readOptionalSharedString(); id = in.readString(); routing = in.readOptionalString(); int size = in.readVInt(); if (size > 0) { fields = new String[size]; for (int i = 0; i < size; i++) { fields[i] = in.readString(); } } version = Versions.readVersionWithVLongForBW(in); versionType = VersionType.fromValue(in.readByte()); fetchSourceContext = FetchSourceContext.optionalReadFromStream(in); }