diff --git a/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1Container.java b/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1Container.java
index 1399bc0..a0e27ca 100644
--- a/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1Container.java
+++ b/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1Container.java
@@ -54,8 +54,13 @@
     public void dumpWith(Asn1Dumper dumper, int indents) {
         dumper.indent(indents).append(toString()).newLine();
 
+        int i = children.size();
         for (Asn1ParseResult aObj : children) {
-            dumper.dumpParseResult(indents + 4, aObj).newLine();
+            dumper.dumpParseResult(indents + 4, aObj);
+            i--;
+            if (i > 0) {
+                dumper.newLine();
+            }
         }
     }
 
diff --git a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1CollectionType.java b/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1CollectionType.java
index 8ce0f69..42a1446 100644
--- a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1CollectionType.java
+++ b/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1CollectionType.java
@@ -122,7 +122,7 @@
             } else {
                 if (parsingItem.isContextSpecific()) {
                     Asn1Binder.bindWithTagging(parsingItem, fieldValue,
-                        fieldInfos[foundPos].getTaggingOption());
+                            fieldInfos[foundPos].getTaggingOption());
                 } else {
                     Asn1Binder.bind(parsingItem, fieldValue);
                 }
@@ -224,9 +224,11 @@
 
             Asn1Type fdValue = fields[i];
             if (fdValue == null || fdValue instanceof Asn1Simple) {
-                dumper.append((Asn1Simple<?>) fdValue).newLine();
+                dumper.append((Asn1Simple<?>) fdValue);
             } else {
                 dumper.newLine().dumpType(indents + 8, fdValue);
+            }
+            if (i < fieldInfos.length - 1) {
                 dumper.newLine();
             }
         }
