public void decode(String useleassPart) throws IkszorConvertException {
		this.isDecoded = false;
		try {
			boolean[] key = IkszorManager.string2BooleanArray(this.symmetricKey);
			boolean[] eValue = IkszorManager.string2BooleanArray(IkszorManager.fillValue(this.encodedValue, this.symmetricKey, useleassPart, (byte) 32));
			System.arraycopy(IkszorManager.binary2BooleanArray("00000000000000000000000000000000".
					substring(Integer.toBinaryString(this.encodedValue.length()).length())+
					Integer.toBinaryString(this.encodedValue.length())), 0, eValue, 0, 32);
			boolean[] result = new boolean[eValue.length];
			
			for(int i = 0;i < eValue.length;i++)
				result[i] = eValue[i] != IkszorManager.safeKey(key, i);
			
			this.decodedValue = IkszorManager.booleanArray2String(result);
			this.isDecoded = true;
		} catch(IkszorException e) {
			throw new IkszorConvertException(false, e);
		} catch(NullPointerException e) {
			throw new IkszorConvertException(false, e);
		} catch(ArrayIndexOutOfBoundsException e) {
			throw new IkszorConvertException(false, e);
		}
	}