protected Array<Actor> parse(){
  actors=GdxArrays.newArray(Actor.class);
  invokePreListeners(actors);
  final StringBuilder builder=new StringBuilder();
  while (templateReader.hasNextCharacter()) {
    final char character=templateReader.nextCharacter();
    if (character == syntax.getArgumentOpening()) {
      processArgument();
    }
 else     if (character == syntax.getTagOpening()) {
      if (isNextCharacterCommentOpening()) {
        processComment();
        continue;
      }
      if (currentParentTag != null) {
        currentParentTag.handleDataBetweenTags(builder);
      }
      Strings.clearBuilder(builder);
      processTag(builder);
    }
 else {
      builder.append(character);
    }
  }
  if (currentParentTag != null) {
    throwError('"' + currentParentTag.getTagName() + "\" tag was never closed.");
  }
  invokePortListeners(actors);
  return actors;
}

protected Array < Actor > parse ( ) { actors = GdxArrays . newArray ( Actor . class ) ; invokePreListeners ( actors ) ; final StringBuilder builder = new StringBuilder ( ) ; while ( templateReader . hasNextCharacter ( ) ) { final char character = templateReader . nextCharacter ( ) ; if ( character == syntax . getArgumentOpening ( ) ) { processArgument ( ) ; } else if ( character == syntax . getTagOpening ( ) ) { if ( isNextCharacterCommentOpening ( ) ) { processComment ( ) ; continue ; } if ( currentParentTag != null ) { currentParentTag . handleDataBetweenTags ( builder ) ; } Strings . clearBuilder ( builder ) ; processTag ( builder ) ; } else { builder . append ( character ) ; } } if ( currentParentTag != null ) { throwError ( '"' + currentParentTag . getTagName ( ) + "\" tag was never closed." ) ; } invokePortListeners ( actors ) ; return actors ; }
does the actual parsing
