class ImmutableAppendedList implements List<T> {

    @Override
    public boolean contains( Object o ) {
        return element == o || (element != null && element.equals(o)) || parent.contains(o);
    }

    public  ImmutableAppendedList( List<T> parent,
                                  T element );

}