private Annotation convertToAnnotation(ByteBuffer byteBuffer) {
		Annotation annotation = new Annotation();
		annotation.setTypeIndex(byteBuffer.getShort());
		logger.debug("\t\t\t\tTypeIndex : "+ annotation.getTypeIndex());
		annotation.setNumElementValuePairs(byteBuffer.getShort());
		logger.debug("\t\t\t\tNumElementValuePairs : "+ annotation.getNumElementValuePairs());
		if (annotation.getNumElementValuePairs() > 0) {
			ElementValuePair[] elementValuePairs = new ElementValuePair[annotation.getNumElementValuePairs()];
			int i = 0;
			while (i < annotation.getNumElementValuePairs()){
				ElementValuePair elementValuePair = new ElementValuePair();
				elementValuePair.setElementNameIndex(byteBuffer.getShort());
				logger.debug("\t\t\t\t\tElementNameIndex[" + i + "] : "+ elementValuePair.getElementNameIndex());
				ElementValue elementValue = convertToElementValue(byteBuffer);
				elementValuePair.setElementNameValue(elementValue);
				elementValuePairs[i] = elementValuePair;
				i++;
			}
			annotation.setElementValuePairs(elementValuePairs);
		}
		return annotation;
	}