Fix [Issue-6] for 1.9.x

diff --git a/release-notes/VERSION b/release-notes/VERSION
index 139f654..d97cd61 100644
--- a/release-notes/VERSION
+++ b/release-notes/VERSION
@@ -8,6 +8,8 @@
 
 Fixes:
 
+  * [Issue-6]: element count for PrettyPrinter, endObject wrong
+   (reported by "thebluemountain")
   * [JACKSON-838]: Utf8StreamParser._reportInvalidToken() skips letters
     from reported token name
    (reported by Lóránt Pintér)
diff --git a/src/java/org/codehaus/jackson/impl/Utf8Generator.java b/src/java/org/codehaus/jackson/impl/Utf8Generator.java
index 103547e..ccc25cd 100644
--- a/src/java/org/codehaus/jackson/impl/Utf8Generator.java
+++ b/src/java/org/codehaus/jackson/impl/Utf8Generator.java
@@ -385,7 +385,6 @@
         if (!_writeContext.inObject()) {
             _reportError("Current context not an object but "+_writeContext.getTypeDesc());
         }
-        _writeContext = _writeContext.getParent();
         if (_cfgPrettyPrinter != null) {
             _cfgPrettyPrinter.writeEndObject(this, _writeContext.getEntryCount());
         } else {
@@ -394,6 +393,7 @@
             }
             _outputBuffer[_outputTail++] = BYTE_RCURLY;
         }
+        _writeContext = _writeContext.getParent();
     }
 
     protected final void _writeFieldName(String name)
diff --git a/src/java/org/codehaus/jackson/impl/WriterBasedGenerator.java b/src/java/org/codehaus/jackson/impl/WriterBasedGenerator.java
index 1535c08..de26493 100644
--- a/src/java/org/codehaus/jackson/impl/WriterBasedGenerator.java
+++ b/src/java/org/codehaus/jackson/impl/WriterBasedGenerator.java
@@ -288,7 +288,6 @@
         if (!_writeContext.inObject()) {
             _reportError("Current context not an object but "+_writeContext.getTypeDesc());
         }
-        _writeContext = _writeContext.getParent();
         if (_cfgPrettyPrinter != null) {
             _cfgPrettyPrinter.writeEndObject(this, _writeContext.getEntryCount());
         } else {
@@ -297,6 +296,7 @@
             }
             _outputBuffer[_outputTail++] = '}';
         }
+        _writeContext = _writeContext.getParent();
     }
 
     protected void _writeFieldName(String name, boolean commaBefore)