@Override
	public Set<java.util.Map.Entry<K, V>> entrySet() {
		return new Set<java.util.Map.Entry<K, V>>() {

			@Override
			public boolean add(java.util.Map.Entry<K, V> e) {
				throw new UnsupportedOperationException();
			}

			@Override
			public boolean addAll(
					Collection<? extends java.util.Map.Entry<K, V>> c) {
				throw new UnsupportedOperationException();
			}

			@Override
			public void clear() {
				throw new UnsupportedOperationException();
			}

			@Override
			public boolean contains(Object o) {
				throw new UnsupportedOperationException();
			}

			@Override
			public boolean containsAll(Collection<?> c) {
				throw new UnsupportedOperationException();
			}

			@Override
			public void forEach(
					Consumer<? super java.util.Map.Entry<K, V>> action) {
				throw new UnsupportedOperationException();
			}

			@Override
			public boolean isEmpty() {
				return LinkedMap.this.isEmpty();
			}

			@Override
			public Iterator<java.util.Map.Entry<K, V>> iterator() {
				return new Iterator<java.util.Map.Entry<K, V>>() {

					private Entry ptr = LinkedMap.this.head;

					@Override
					public void forEachRemaining(
							Consumer<? super java.util.Map.Entry<K, V>> action) {
						throw new UnsupportedOperationException();

					}

					@Override
					public boolean hasNext() {
						return this.ptr != null;
					}

					@Override
					public java.util.Map.Entry<K, V> next() {
						final K key = this.ptr.key;
						final V value = this.ptr.value;
						this.ptr = this.ptr.next;
						return new Map.Entry<K, V>() {

							@Override
							public K getKey() {
								return key;
							}

							@Override
							public V getValue() {
								return value;
							}

							@Override
							public V setValue(
									@SuppressWarnings("hiding") V value) {
								throw new UnsupportedOperationException();
							}


						};
					}

					@Override
					public void remove() {
						throw new UnsupportedOperationException();

					}

				};
			}

			@Override
			public Stream<java.util.Map.Entry<K, V>> parallelStream() {
				throw new UnsupportedOperationException();
			}

			@Override
			public boolean remove(Object o) {
				throw new UnsupportedOperationException();
			}

			@Override
			public boolean removeAll(Collection<?> c) {
				throw new UnsupportedOperationException();
			}

			@Override
			public boolean removeIf(
					Predicate<? super java.util.Map.Entry<K, V>> filter) {
				throw new UnsupportedOperationException();
			}

			@Override
			public boolean retainAll(Collection<?> c) {
				throw new UnsupportedOperationException();
			}

			@Override
			public int size() {
				return LinkedMap.this.size();
			}

			@Override
			public Spliterator<java.util.Map.Entry<K, V>> spliterator() {
				throw new UnsupportedOperationException();
			}

			@Override
			public Stream<java.util.Map.Entry<K, V>> stream() {
				throw new UnsupportedOperationException();
			}

			@Override
			public Object[] toArray() {
				throw new UnsupportedOperationException();
			}

			@Override
			public <T> T[] toArray(T[] a) {
				throw new UnsupportedOperationException();
			}

		};
	}