code: @Deprecated
  	@Override
  	public String getSequence(Long beginPosition, Long endPosition) {
  
  		if (beginPosition == null || endPosition == null
  				|| (beginPosition > endPosition) || beginPosition < 1
  				|| endPosition >getLength()) {
  			return null;
  		}
  		
         int length = (int) (endPosition.longValue() - beginPosition.longValue()) + 1;
  	   int offset = beginPosition.intValue() - 1;
  	   String subSequence=null;
  		try{
  			subSequence= ByteBufferUtils.string(getSequenceBuffer(), offset, length);
  		}
  		catch(Exception e)
  		{
  			e.printStackTrace();
  			return subSequence;
  		}
          return subSequence;
  		/*// note begin:1 end:4 has length 4
  		
  
  		byte[] subsequence = new byte[length];
  
  		
  		synchronized (sequence) {
  			sequence.position(offset);
  			sequence.get(subsequence, 0, length);
  		}
  		
  		String string = new String(subsequence);
  
  		return string;*/
  	}
docs: Overridden so we can create appropriate sized buffer before making
  string.
  
  @see uk.ac.ebi.embl.api.entry.sequence.AbstractSequence#getSequence(java.lang.Long,
  java.lang.Long)