001package com.hammurapi.convert;
002
003import java.util.Iterator;
004import java.util.concurrent.Callable;
005
006import com.hammurapi.common.Context;
007
008public class SingletonConverterPart implements ConverterPart {
009
010        @Override
011        public <S, T> T convert(S source, Class<T> targetType, Context context, Converter master) throws ConversionException {
012                if (source instanceof Iterable) {
013                        Iterator it = ((Iterable) source).iterator();
014                        if (it.hasNext()) {
015                                Object value = it.next();
016                                if (!it.hasNext()) {
017                                        return master.convert(value, targetType, context);
018                                }
019                        }
020                }
021                return null;
022        }
023
024}