// Path: src/main/java/ixa/kaflib/KAFDocument.java
//    public enum AnnotationType {
// WF,
// TERM,
// MW,
// COMPONENT,
// SENTIMENT,
// ENTITY,
// CHUNK,
// DEP,
// TREE,
// NON_TERMINAL,
// TERMINAL,
// EDGE,
// COREF,
// OPINION, 		/* DOC_LVL */
// OPINION_HOLDER,
// OPINION_TARGET,
// OPINION_EXPRESSION,
// CLINK,
// TLINK,
// PREDICATE_ANCHOR,
// PREDICATE,
// ROLE,
// TIMEX3,
// FACTUALITY,
// FACTVALUE,
// MARK,
// PROPERTY,
// CATEGORY,
// LINKED_ENTITY,
// RELATION,
// TOPIC,
// STATEMENT,
// STATEMENT_TARGET,
// STATEMENT_SOURCE,
// STATEMENT_CUE,
//    }
// 
// Path: src/main/java/ixa/kaflib/KAFDocument.java
//    static class Utils {
// static boolean areEquals(Object a, Object b) {
//     return (a == null) ? (b == null) : a.equals(b);
// }
//    }


import ixa.kaflib.KAFDocument.AnnotationType;
import ixa.kaflib.KAFDocument.Utils;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
    
    public Integer getPara() {
	return this.span.getFirstTarget().getPara();
    }
    */

    public boolean hasSpan() {
	return this.span != null;
    }

    public Span<WF> getSpan() {
	return this.span;
    }

    public void setSpan(Span<WF> span) {
	this.span = span;
    }

    public String getSpanStr(Span<WF> span) {
	String str = "";
	for (WF wf : span.getTargets()) {
	    if (!str.isEmpty()) {
		str += " ";
	    }
	    str += wf.getForm();
	}
	return str;
    }
    
    Map<AnnotationType, List<Annotation>> getReferencedAnnotations() {
// Path: src/main/java/ixa/kaflib/KAFDocument.java
//    public enum AnnotationType {
// WF,
// TERM,
// MW,
// COMPONENT,
// SENTIMENT,
// ENTITY,
// CHUNK,
// DEP,
// TREE,
// NON_TERMINAL,
// TERMINAL,
// EDGE,
// COREF,
// OPINION, 		/* DOC_LVL */
// OPINION_HOLDER,
// OPINION_TARGET,
// OPINION_EXPRESSION,
// CLINK,
// TLINK,
// PREDICATE_ANCHOR,
// PREDICATE,
// ROLE,
// TIMEX3,
// FACTUALITY,
// FACTVALUE,
// MARK,
// PROPERTY,
// CATEGORY,
// LINKED_ENTITY,
// RELATION,
// TOPIC,
// STATEMENT,
// STATEMENT_TARGET,
// STATEMENT_SOURCE,
// STATEMENT_CUE,
//    }
// 
// Path: src/main/java/ixa/kaflib/KAFDocument.java
//    static class Utils {
// static boolean areEquals(Object a, Object b) {
//     return (a == null) ? (b == null) : a.equals(b);
// }
//    }


// Path: src/main/java/ixa/kaflib/Timex3.java
import ixa.kaflib.KAFDocument.AnnotationType;
import ixa.kaflib.KAFDocument.Utils;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;

    
    public Integer getPara() {
	return this.span.getFirstTarget().getPara();
    }
    */

    public boolean hasSpan() {
	return this.span != null;
    }

    public Span<WF> getSpan() {
	return this.span;
    }

    public void setSpan(Span<WF> span) {
	this.span = span;
    }

    public String getSpanStr(Span<WF> span) {
	String str = "";
	for (WF wf : span.getTargets()) {
	    if (!str.isEmpty()) {
		str += " ";
	    }
	    str += wf.getForm();
	}
	return str;
    }
    
    Map<AnnotationType, List<Annotation>> getReferencedAnnotations() {
	Map<AnnotationType, List<Annotation>> referenced = new HashMap<AnnotationType, List<Annotation>>();