// Path: src/main/java/pl/maciejwalkowiak/plist/handler/Handler.java
// public interface Handler {
// 	boolean supports(Object object);
// 	String handle(Object object);
// }
// 
// Path: src/main/java/pl/maciejwalkowiak/plist/strategy/DefaultNamingStrategy.java
// public class DefaultNamingStrategy implements NamingStrategy {
// 	public String fieldNameToKey(String toConvert) {
// 		return toConvert;
// 	}
// }


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import pl.maciejwalkowiak.plist.handler.Handler;
import pl.maciejwalkowiak.plist.handler.HandlerWrapper;
import pl.maciejwalkowiak.plist.strategy.DefaultNamingStrategy;
import java.util.List;
		this.fieldSerializer = new FieldSerializer(handlerWrapper, this);
		this.basicObjectSerializer = new BasicObjectSerializer(handlerWrapper);
	}

	public String toXmlPlist(Object objectToConvert) {
		StringBuilder result = new StringBuilder(HEADER);

		result.append(serialize(objectToConvert));

		result.append(FOOTER);

		return result.toString();
	}

	public String serialize(Object objectToConvert) {
		StringBuilder result = new StringBuilder();

		logger.debug("converting object = {}", objectToConvert);

		if (objectToConvert != null) {
			if (handlerWrapper.isSupported(objectToConvert)) {
				result.append(basicObjectSerializer.serializeBasicObject(objectToConvert));
			} else {
				result.append(fieldSerializer.serializeFields(objectToConvert));
			}
		}

		return result.toString();
	}

// Path: src/main/java/pl/maciejwalkowiak/plist/handler/Handler.java
// public interface Handler {
// 	boolean supports(Object object);
// 	String handle(Object object);
// }
// 
// Path: src/main/java/pl/maciejwalkowiak/plist/strategy/DefaultNamingStrategy.java
// public class DefaultNamingStrategy implements NamingStrategy {
// 	public String fieldNameToKey(String toConvert) {
// 		return toConvert;
// 	}
// }


// Path: src/main/java/pl/maciejwalkowiak/plist/PlistSerializerImpl.java
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import pl.maciejwalkowiak.plist.handler.Handler;
import pl.maciejwalkowiak.plist.handler.HandlerWrapper;
import pl.maciejwalkowiak.plist.strategy.DefaultNamingStrategy;
import java.util.List;

		this.fieldSerializer = new FieldSerializer(handlerWrapper, this);
		this.basicObjectSerializer = new BasicObjectSerializer(handlerWrapper);
	}

	public String toXmlPlist(Object objectToConvert) {
		StringBuilder result = new StringBuilder(HEADER);

		result.append(serialize(objectToConvert));

		result.append(FOOTER);

		return result.toString();
	}

	public String serialize(Object objectToConvert) {
		StringBuilder result = new StringBuilder();

		logger.debug("converting object = {}", objectToConvert);

		if (objectToConvert != null) {
			if (handlerWrapper.isSupported(objectToConvert)) {
				result.append(basicObjectSerializer.serializeBasicObject(objectToConvert));
			} else {
				result.append(fieldSerializer.serializeFields(objectToConvert));
			}
		}

		return result.toString();
	}

	public void setAdditionalHandlers(List<Handler> additionalHandlers) {