code: public static <K, V> ListMultimap<K, V> newLinkedHashListMultimap(Multimap<K, V> multimap) {
  		int keySetSize = multimap.keySet().size();
  		int expectedKeys = Math.max(keySetSize, 2);
  		ListMultimap<K, V> result = newLinkedHashListMultimap(expectedKeys,	Math.max(3, multimap.size() / expectedKeys));
  		result.putAll(multimap);
  		return result;
  	}
docs: Constructs an {@code ArrayListMultimap} with the same mappings as the specified multimap. It uses a linked map
  internally..
  
  @param multimap
  the multimap whose contents are copied to this multimap