private static String readHugeStringFromDataInput(DataInput in) throws IOException {
    int len = in.readInt();
    if (logger.isTraceEnabled(LogMarker.SERIALIZER_VERBOSE)) {
      logger.trace(LogMarker.SERIALIZER_VERBOSE, "Reading HUGE_STRING of len={}", len);
    }
    char[] buf = new char[len];
    for (int i = 0; i < len; i++) {
      buf[i] = in.readChar();
    }
    return new String(buf);
  }
Reads an instance of {@code String} from a {@code DataInput} given the header byte already
being read. The return value may be {@code null}.

@throws IOException A problem occurs while reading from {@code in}
@since GemFire 5.7
geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java