public static <T> Map<String, T> map( Record record, Function<Value, T> mapFunction ) { int size = record.size(); switch ( size ) { case 0: return emptyMap(); case 1: return singletonMap( record.keys().get( 0 ), mapFunction.apply( record.get( 0 ) ) ); default: Map<String,T> map = Iterables.newLinkedHashMapWithSize( size ); List<String> keys = record.keys(); for ( int i = 0; i < size; i++ ) { map.put( keys.get( i ), mapFunction.apply( record.get( i ) ) ); } return unmodifiableMap( map ); } }
if ( ! ( size == otherRecord.size() ) )