/// <summary>
        /// Generates the serializable class.
        /// </summary>
        public void GenerateConstructorInvocation(object obj, string prefix, string suffix)
        {
            var javaClass = _javaClasses.Single(c => c.Type == obj.GetType());

            _builder.AddLine($"{prefix}new {javaClass.ClassName}");
            _builder.BeginScope("(");
            AddParameterValues(javaClass, obj);
            _builder.EndScope($"){suffix}");
        }
 /// <summary>
 /// Generates the given serializable class.
 /// </summary>
 public void GenerateClassDefinition()
 {
     _builder
     .AddLine(GetClassDeclaration())
     .BeginScope("{")
     .AddLines(_javaClass.Properties.Select(GetField))
     .AddBlankLine()
     .AddLines(GetTypeAccessor(_javaClass))
     .AddLines(_javaClass.Properties.Select(GetAccessor))
     .AddBlankLine()
     .AddLine(GetConstructorSignature())
     .BeginScope("{")
     .AddLines(GetConstructorBody())
     .EndScope("}")
     .EndScope("}");
 }