Assert.assertNotNull(prop.getColumn());
Assert.assertNotNull(col);
    public Object getTestData(ObjectTree tree, String path) {        Property prop = (Property) tree.getProperty(path);        if (prop.isAttribute()) {            Assert.assertNotNull(prop.getColumn());        }        String toHash = m_key + ":" +            tree.getRoot().getObjectType().getQualifiedName() + ":" +            tree.getAbsolutePath(path) + ":" +            prop.getType().getQualifiedName();        byte[] hash;        try {            MessageDigest digest = MessageDigest.getInstance("MD5");            hash = digest.digest(toHash.getBytes());        } catch (NoSuchAlgorithmException e) {            throw new UncheckedWrapperException(e);        }        DataType type = prop.getType();        if (type instanceof ObjectType) {            return getOID(tree.getSubtree(path));        } else if (type.equals(MetadataRoot.BIGINTEGER)) {            return new BigInteger(makeNumber(hash, 32, 0));        } else if (type.equals(MetadataRoot.BIGDECIMAL)) {            return new BigDecimal(makeNumber(hash, 32, 0));        } else if (type.equals(MetadataRoot.BOOLEAN)) {            return Boolean.valueOf(makeBoolean(hash));        } else if (type.equals(MetadataRoot.BYTE)) {            return Byte.valueOf(makeNumber(hash, 8, 0));        } else if (type.equals(MetadataRoot.CHARACTER)) {            return new Character(makeString(hash, 1).charAt(0));        } else if (type.equals(MetadataRoot.DATE)) {            return new Date(1000*Long.parseLong(makeNumber(hash, 32, 0)));        } else if (type.equals(MetadataRoot.DOUBLE)) {            return Double.valueOf(makeNumber(hash, 64, 0));        } else if (type.equals(MetadataRoot.FLOAT)) {            return Float.valueOf(makeNumber(hash, 32, 0));        } else if (type.equals(MetadataRoot.INTEGER)) {            return Integer.valueOf(makeNumber(hash, 32, 0));        } else if (type.equals(MetadataRoot.LONG)) {            return Long.valueOf(makeNumber(hash, 64, 0));        } else if (type.equals(MetadataRoot.SHORT)) {            return Short.valueOf(makeNumber(hash, 16, 0));        } else if (type.equals(MetadataRoot.STRING)) {            int size = prop.getColumn().getSize();            if (size < 0) {                LOG.warn("Size for property " + prop.getName() +                         " unspecified. Defaulting to 10");                size = 10;            }            return makeString(hash, size);        } else if (type.equals(MetadataRoot.BLOB)) {            return hash;        } else if (type.equals(MetadataRoot.CLOB)) {            return makeString(hash, 1024);        } else {            throw new IllegalArgumentException("unknown type");        }    }