public boolean isSelectionTemplate() {
    parseSegments();
    for (Segment v : mySegments) {
      if (SELECTION.equals(v.name)) return true;
    }

    return false;
  }
 public int getVariableSegmentNumber(String variableName) {
   parseSegments();
   for (int i = 0; i < mySegments.size(); i++) {
     Segment segment = mySegments.get(i);
     if (segment.name.equals(variableName)) {
       return i;
     }
   }
   return -1;
 }
 public String getString() {
   parseSegments();
   return myString;
 }
 @Override
 public int getSegmentsCount() {
   parseSegments();
   return mySegments.size();
 }
 @Override
 public int getSegmentOffset(int i) {
   parseSegments();
   return mySegments.get(i).offset;
 }
 @Override
 public String getSegmentName(int i) {
   parseSegments();
   return mySegments.get(i).name;
 }
 @Override
 public String getTemplateText() {
   parseSegments();
   return myTemplateText;
 }