	@Test
	public void testTail() {

	       Sequence<String> seq2 = seq.tail();
	       assertTrue("empty sequence tail should empty seq", seq2.isEmpty());
	       seq.append("a");
	       seq.append("b");
	       seq.append("c");
	       seq.append("d");
	       seq.append("e");
	       Sequence<String> seq1 = seq.tail();
	       assertEquals("Length of tail sequence incorrect", 4 , seq1.length());
	       assertEquals("Head of tail sequence incorrect", "b", seq1.peekHead());
	       assertEquals("Last element of tail sequence incorrect", "e", seq1.peekLast());
	       assertEquals("Length of original sequence changed when taking tail", 5, seq.length());
	       assertEquals("Original sequence head changed when taking tail", "a", seq.peekHead());
	       assertEquals("Original sequence last changed when taking tail", "e", seq.peekLast());
	}