public synchronized MessageBlock resent(final int offset, final int length) {
		MessageBlockDef mbd = new MessageBlockDef(offset, length);
		// removes old instance (all which are contained)
		HashSet<MessageBlockDef> rm = new HashSet<MessageBlockDef>();
		for (MessageBlockDef mbds : sentBlocks) {
			if (mbds.offset >= offset && mbds.offset + mbds.length <= offset + length) {
				rm.add(mbds);
			}
		}
		sentBlocks.removeAll(rm);

		sentBlocks.add(mbd); // add new instance

		return sendBlock(offset, length);
	}