// 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/Statement.java
//    public static class StatementSource extends Annotation {
// private Span<Term> span;
// 	
// public StatementSource(Span<Term> span) {
//     this.span = span;
// }
// 	
// public Span<Term> getSpan() {
//     return this.span;
// }
// 	
// public void setSpan(Span<Term> span) {
//     this.span = span;
// }
// 	
// public Map<AnnotationType, List<Annotation>> getReferencedAnnotations() {
//     Map<AnnotationType, List<Annotation>> refs = new HashMap<AnnotationType, List<Annotation>>();
//     List<Annotation> terms = new ArrayList<Annotation>();
//     for (Term t : this.getSpan().getTargets()) {
// 	terms.add(t);
//     }
//     refs.put(AnnotationType.TERM, terms);
//     return refs;
// }
// 	
// /*
// @Override
// public boolean equals(Object o) {
//     if (this == o) return true;
//     if (!(o instanceof StatementSource)) return false;
//     StatementSource ann = (StatementSource) o;
//     return Utils.areEquals(this.span, ann.span);
// }
// */
//    }


import java.util.HashMap;
import java.util.Map;
import java.util.List;
import ixa.kaflib.KAFDocument.AnnotationType;
import ixa.kaflib.KAFDocument.Utils;
import ixa.kaflib.Statement.StatementSource;
    }

    public void setConfidence(Float val) {
	confidence = val;
    }

    public boolean hasConfidence() {
	return this.confidence != null;
    }

    public String getURI() {
	return this.URI;
    }

    public void setURI(String val) {
	URI = val;
    }

    public boolean hasURI() {
	return this.URI != null;
    }

    public String getTopicValue() {
	return this.value;
    }

    public void setTopicValue(String val) {
	value = val;
    }

// 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/Statement.java
//    public static class StatementSource extends Annotation {
// private Span<Term> span;
// 	
// public StatementSource(Span<Term> span) {
//     this.span = span;
// }
// 	
// public Span<Term> getSpan() {
//     return this.span;
// }
// 	
// public void setSpan(Span<Term> span) {
//     this.span = span;
// }
// 	
// public Map<AnnotationType, List<Annotation>> getReferencedAnnotations() {
//     Map<AnnotationType, List<Annotation>> refs = new HashMap<AnnotationType, List<Annotation>>();
//     List<Annotation> terms = new ArrayList<Annotation>();
//     for (Term t : this.getSpan().getTargets()) {
// 	terms.add(t);
//     }
//     refs.put(AnnotationType.TERM, terms);
//     return refs;
// }
// 	
// /*
// @Override
// public boolean equals(Object o) {
//     if (this == o) return true;
//     if (!(o instanceof StatementSource)) return false;
//     StatementSource ann = (StatementSource) o;
//     return Utils.areEquals(this.span, ann.span);
// }
// */
//    }


// Path: src/main/java/ixa/kaflib/Topic.java
import java.util.HashMap;
import java.util.Map;
import java.util.List;
import ixa.kaflib.KAFDocument.AnnotationType;
import ixa.kaflib.KAFDocument.Utils;
import ixa.kaflib.Statement.StatementSource;

    }

    public void setConfidence(Float val) {
	confidence = val;
    }

    public boolean hasConfidence() {
	return this.confidence != null;
    }

    public String getURI() {
	return this.URI;
    }

    public void setURI(String val) {
	URI = val;
    }

    public boolean hasURI() {
	return this.URI != null;
    }

    public String getTopicValue() {
	return this.value;
    }

    public void setTopicValue(String val) {
	value = val;
    }

    public Map<AnnotationType, List<Annotation>> getReferencedAnnotations() {