private TemplateTag parseAttributeTag(final String tagString,final Branch branch,final Template template,final int lineNumber,final List<LocalizableMessage> warnings) throws DecodeException {
  final StringTokenizer tokenizer=new StringTokenizer(tagString,":");
  final List<String> args=new ArrayList<>();
  while (tokenizer.hasMoreTokens()) {
    args.add(tokenizer.nextToken());
  }
  final String[] arguments=args.toArray(new String[args.size()]);
  final AttributeValueTag tag=new AttributeValueTag();
  if (branch != null) {
    tag.initializeForBranch(schema,this,branch,arguments,lineNumber,warnings);
  }
 else {
    tag.initializeForTemplate(schema,this,template,arguments,lineNumber,warnings);
  }
  return tag;
}

private TemplateTag parseAttributeTag ( final String tagString , final Branch branch , final Template template , final int lineNumber , final List < LocalizableMessage > warnings ) throws DecodeException { final StringTokenizer tokenizer = new StringTokenizer ( tagString , ":" ) ; final List < String > args = new ArrayList < > ( ) ; while ( tokenizer . hasMoreTokens ( ) ) { args . add ( tokenizer . nextToken ( ) ) ; } final String [ ] arguments = args . toArray ( new String [ args . size ( ) ] ) ; final AttributeValueTag tag = new AttributeValueTag ( ) ; if ( branch != null ) { tag . initializeForBranch ( schema , this , branch , arguments , lineNumber , warnings ) ; } else { tag . initializeForTemplate ( schema , this , template , arguments , lineNumber , warnings ) ; } return tag ; }
parses the provided string as an attribute tag . exactly one of the branch or template must be null , and the other must be non - null .
