public Mention buildMention(Annotation annotation, int sentId,
			int startToken, int endToken) {
		CoreMap sentAnn = annotation.get(SentencesAnnotation.class).get(sentId);
		List<CoreLabel> tokens = sentAnn.get(TokensAnnotation.class);
		// create a Mention object
		Mention.Builder m = Mention.newBuilder();
		m.setStart(startToken);
		m.setEnd(endToken);
		for (int i = 0; i < tokens.size(); i++) {
			m.addTokens(tokens.get(i).get(OriginalTextAnnotation.class));
			m.addPosTags(tokens.get(i).get(PartOfSpeechAnnotation.class));
		}
		m.setEntityName("");
		m.setFileid("on-the-fly");
		m.setSentid(sentId);

		// dependency
		String depStr = StanfordDependencyResolver.getString(sentAnn);
		if (depStr != null) {
			for (String d : depStr.split("\t")) {
				Matcher match = Preprocessing.depPattern.matcher(d);
				if (match.find()) {
					m.addDeps(Dependency.newBuilder().setType(match.group(1))
							.setGov(Integer.parseInt(match.group(3)) - 1)
							.setDep(Integer.parseInt(match.group(5)) - 1)
							.build());
				} else {

				}
			}
		}
		return m.build();
	}