/**
  * Gets the size of the provided phone prefix map storage. The map storage passed-in will be
  * filled as a result.
  */
 private static int getSizeOfPhonePrefixMapStorage(
     PhonePrefixMapStorageStrategy mapStorage, SortedMap<Integer, String> phonePrefixMap)
     throws IOException {
   mapStorage.readFromSortedMap(phonePrefixMap);
   ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
   ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);
   mapStorage.writeExternal(objectOutputStream);
   objectOutputStream.flush();
   int sizeOfStorage = byteArrayOutputStream.size();
   objectOutputStream.close();
   return sizeOfStorage;
 }
 /** Supports Java Serialization. */
 public void writeExternal(ObjectOutput objectOutput) throws IOException {
   objectOutput.writeBoolean(phonePrefixMapStorage instanceof FlyweightMapStorage);
   phonePrefixMapStorage.writeExternal(objectOutput);
 }