diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp
index 22805f6..7845046 100644
--- a/lib/Format/Format.cpp
+++ b/lib/Format/Format.cpp
@@ -315,7 +315,8 @@
   }
 
   /// \brief Add a new line and the required indent before the first Token
-  /// of the \c UnwrappedLine.
+  /// of the \c UnwrappedLine if there was no structural parsing error.
+  /// Returns the indent level of the \c UnwrappedLine.
   unsigned formatFirstToken() {
     const FormatToken &Token = Line.Tokens[0];
     if (!Token.WhiteSpaceStart.isValid() || StructuralError)
@@ -706,16 +707,16 @@
     for (std::vector<UnwrappedLine>::iterator I = UnwrappedLines.begin(),
                                               E = UnwrappedLines.end();
          I != E; ++I)
-      doFormatUnwrappedLine(*I);
+      formatUnwrappedLine(*I);
     return Replaces;
   }
 
 private:
-  virtual void formatUnwrappedLine(const UnwrappedLine &TheLine) {
+  virtual void consumeUnwrappedLine(const UnwrappedLine &TheLine) {
     UnwrappedLines.push_back(TheLine);
   }
 
-  void doFormatUnwrappedLine(const UnwrappedLine &TheLine) {
+  void formatUnwrappedLine(const UnwrappedLine &TheLine) {
     if (TheLine.Tokens.size() == 0)
       return;
 
diff --git a/lib/Format/UnwrappedLineParser.cpp b/lib/Format/UnwrappedLineParser.cpp
index e1972e9..bdea42a 100644
--- a/lib/Format/UnwrappedLineParser.cpp
+++ b/lib/Format/UnwrappedLineParser.cpp
@@ -52,6 +52,7 @@
       addUnwrappedLine();
       break;
     case tok::r_brace:
+      // FIXME: We need a test when it has to be "return Error;"
       return false;
     default:
       parseStatement();
@@ -318,7 +319,7 @@
          FormatTok.Tok.is(tok::comment)) {
     nextToken();
   }
-  Callback.formatUnwrappedLine(Line);
+  Callback.consumeUnwrappedLine(Line);
   Line.Tokens.clear();
 }
 
diff --git a/lib/Format/UnwrappedLineParser.h b/lib/Format/UnwrappedLineParser.h
index 20ff4f5..6e9d872 100644
--- a/lib/Format/UnwrappedLineParser.h
+++ b/lib/Format/UnwrappedLineParser.h
@@ -73,7 +73,7 @@
 public:
   virtual ~UnwrappedLineConsumer() {
   }
-  virtual void formatUnwrappedLine(const UnwrappedLine &Line) = 0;
+  virtual void consumeUnwrappedLine(const UnwrappedLine &Line) = 0;
 };
 
 class UnwrappedLineParser {
