Date date = TimeUtil.parseDate(dateStr);
Date date = dateStr != null ? TimeUtil.parseDate(dateStr) : null;
                public void handleDAVResponse(DAVResponse child) {                    String href = PathUtil.removeTrailingSlash(child.getHref());                    href = PathUtil.decode(href);                    String name = PathUtil.tail(href);                    // build direntry                    SVNNodeKind kind = SVNNodeKind.FILE;                    Object revisionStr = child.getPropertyValue(DAVElement.VERSION_NAME);                    long lastRevision = Long.parseLong(revisionStr.toString());                    String sizeStr = (String) child.getPropertyValue(DAVElement.GET_CONTENT_LENGTH);                    long size = sizeStr == null ? 0 : Long.parseLong(sizeStr);                    if (child.getPropertyValue(DAVElement.RESOURCE_TYPE) == DAVElement.COLLECTION) {                        kind = SVNNodeKind.DIR;                    }                    String author = (String) child.getPropertyValue(DAVElement.CREATOR_DISPLAY_NAME);                    String dateStr = (String) child.getPropertyValue(DAVElement.CREATION_DATE);                    Date date = TimeUtil.parseDate(dateStr);                    boolean hasProperties = false;                    for(Iterator props = child.properties(); props.hasNext();) {                        DAVElement property = (DAVElement) props.next();                        if (DAVElement.SVN_CUSTOM_PROPERTY_NAMESPACE.equals(property.getNamespace()) ||                                 DAVElement.SVN_SVN_PROPERTY_NAMESPACE.equals(property)) {                            hasProperties = true;                            break;                        }                    }                    result[0] = new SVNDirEntry(name, kind, size, hasProperties, lastRevision, date, author);                }