@SuppressWarnings({"MethodWithMultipleLoops"})
 public String toString() {
   StringBuffer sb = new StringBuffer();
   sb.append('{');
   boolean first = true;
   for (Map.Entry<RelativePosition, List<Comment>> entry : commentsMap.entrySet()) {
     if (!first) {
       sb.append(", ");
       first = false;
     }
     sb.append("[").append(entry.getKey()).append(" -> ");
     for (Comment comment : entry.getValue()) {
       sb.append(',').append(comment.getText());
     }
     sb.append("]");
   }
   sb.append('}');
   return sb.toString();
 }