 		let builder = FlatBufferBuilder.create(config)
 		let offset = addToByteArray(builder)
 		performLateBindings(builder)
-		let result = try! builder.finish(offset, fileIdentifier: nil)
+		try! builder.finish(offset, fileIdentifier: nil)
+		let result = builder.data
 		FlatBufferBuilder.reuse(builder)
 		return result
 	}
 }
+
+public extension ContactList {
+    public func toFlatBufferBuilder (builder : FlatBufferBuilder) -> Void {
+        let offset = addToByteArray(builder)
+        performLateBindings(builder)
+        try! builder.finish(offset, fileIdentifier: nil)
+        return
+    }
+}
+
 public extension ContactList {
 	public final class LazyAccess : Hashable {
 		private let _reader : FlatBufferReader!

        return Offset(cursor)
    }
    
    public func finish(offset : Offset, fileIdentifier : String?) throws -> [UInt8] {
        guard offset <= Int32(cursor) else {
            throw FlatBufferBuilderError.OffsetIsTooBig
        }

    }
    
    public static func reuse(builder : FlatBufferBuilder) {
        if (UInt(builderPool.count) < maxInstanceCacheSize)
        {
            builder.reset()
            builderPool.append(builder)
