if (address < 0) address = findValue(this, proxy);
if (address < 0) address = findValue(this, proxy, KEY_NOT_FOUND);
    public String getNodeValue(NodeProxy proxy, boolean addWhitespace) {        try {            long address = proxy.getInternalAddress();            if (address < 0) address = findValue(this, proxy);            if (address == BTree.KEY_NOT_FOUND) return null;            final RecordPos rec = findRecord(address);            SanityCheck.THROW_ASSERT(rec != null, "Node data could not be found! Page: " +                     StorageAddress.pageFromPointer(address) +                    "; tid: " + StorageAddress.tidFromPointer(address));            final ByteArrayOutputStream os = new ByteArrayOutputStream();            getNodeValue(os, rec, true, addWhitespace);            final byte[] data = os.toByteArray();            String value;            try {                value = new String(data, "UTF-8");            } catch (UnsupportedEncodingException e) {                value = new String(data);            }            return value;        } catch (BTreeException e) {            LOG.warn("btree error while reading node value", e);        } catch (IOException e) {            LOG.warn("io error while reading node value", e);        }        return null;    }