Buggy code:
private static final String NODE_KEY_SUFFIX = "}" ; private static final String SUBNODES_AND_LINKED_NODES_KEY = "#" ; private static final String SUBNODES_KEY = "*" ; private static final Logger logger = Logger . getLogger ( AbstractNode . class . getName ( ) ) ; private static final boolean updateIndexDefault = true ; private List < StructrRelationship > allRelationships = null ; private List < StructrRelationship > incomingChildRelationships = null ; private List < StructrRelationship > incomingDataRelationships = null ; private List < StructrRelationship > incomingLinkRelationships = null ; private List < StructrRelationship > incomingRelationships = null ; private List < StructrRelationship > outgoingChildRelationships = null ; private List < StructrRelationship > outgoingDataRelationships = null ; private List < StructrRelationship > outgoingLinkRelationships = null ; private List < StructrRelationship > outgoingRelationships = null ; private final Map < RenderMode , NodeRenderer > rendererMap = new EnumMap < RenderMode , NodeRenderer > ( RenderMode . class ) ; protected SecurityContext securityContext = null ; private Map < Long , StructrRelationship > securityRelationships = null ; private boolean renderersInitialized = false ; protected Node dbNode ; protected boolean isDirty ; protected Map < String , Object > properties ; protected Template template ; protected User user ; public static enum Key implements PropertyKey { name , type , nodeId , createdBy , createdDate , deleted , hidden , lastModifiedDate , position , isPublic , title , titles , visibilityEndDate , visibilityStartDate , visibleToAuthenticatedUsers , templateId , categories , ownerId , owner ; } public AbstractNode ( ) { } public AbstractNode ( final Map < String , Object > properties ) { } public AbstractNode ( SecurityContext securityContext , final Node dbNode ) { } public AbstractNode ( final SecurityContext securityContext , final NodeDataContainer data ) { } public void initializeRenderers ( final Map < RenderMode , NodeRenderer > rendererMap ) { } public void onNodeCreation ( ) { } public void onNodeInstantiation ( ) { } public void onNodeDeletion ( ) { } @ Override public boolean renderingAllowed ( final RenderContext context ) { } public void init ( final SecurityContext securityContext , final Node dbNode ) { } private void init ( final SecurityContext securityContext , final AbstractNode node ) { } public void init ( final SecurityContext securityContext , final NodeDataContainer data ) { } @ Override public boolean equals ( final Object o ) { } @ Override public int hashCode ( ) { } @ Override public int compareTo ( final AbstractNode node ) { } public final void renderNode ( final StructrOutputStream out , final AbstractNode startNode , final String editUrl , final Long editNodeId ) { } public void createTemplateRelationship ( final Template template ) { } public void renderEditView ( StructrOutputStream out , final AbstractNode startNode , final String editUrl , final Long editNodeId ) { } public void renderEditFrame ( StructrOutputStream out , final String editUrl ) { } @ Override public String toString ( ) { } public String [ ] toStringArray ( ) { } public void discard ( ) { } public void commit ( final User user ) { } public String evaluate ( HttpServletRequest request ) { } private void populateSecurityRelationshipCacheMap ( ) { } public boolean readAllowed ( ) { } public boolean showTreeAllowed ( ) { } public boolean writeAllowed ( ) { } public boolean createSubnodeAllowed ( ) { } public boolean deleteNodeAllowed ( ) { } public boolean addRelationshipAllowed ( ) { } public boolean editPropertiesAllowed ( ) { } public boolean removeRelationshipAllowed ( ) { } public boolean accessControlAllowed ( ) { } public void replaceBySubnodes ( HttpServletRequest request , StringBuilder content , final AbstractNode startNode , final String editUrl , final Long editNodeId ) { } private RelationshipType [ ] splitRelationshipTypes ( String relTypes ) { } private void collectRelatedNodes ( Set < AbstractNode > nodes , Set < StructrRelationship > rels , Set < AbstractNode > visitedNodes , AbstractNode currentNode , int depth , int maxDepth , int maxNum , RelationshipType ... relTypes ) { } public static String toGetter ( String name ) { } public void replaceByFreeMarker ( HttpServletRequest request , final String templateString , Writer out , final AbstractNode startNode , final String editUrl , final Long editNodeId ) { } protected String createUniqueIdentifier ( String prefix ) { } protected Iterable < Node > traverseDepthFirst ( final RelationshipType relType , final Direction direction , Evaluator evaluator ) { } protected Iterable < Node > traverseBreadthFirst ( final RelationshipType relType , final Direction direction , Evaluator evaluator ) { } protected int countIterableElements ( Iterable iterable ) { } @ Override public boolean delete ( ) { } public abstract String getIconSrc ( ) { } public Long getTemplateId ( ) { } public String getAllProperties ( ) { } public Template getTemplate ( ) { } @ Override public String getType ( ) { } public String getTitleOrName ( ) { } public String getName ( ) { } public String [ ] getCategories ( ) { } public String getTitle ( final Locale locale ) { } public String getTitle ( ) { } public static String getTitleKey ( final Locale locale ) { } public List < AbstractNode . Title > getTitles ( ) { } @ Override public long getId ( ) { } public Long getNodeId ( ) { } public String getIdString ( ) { } public Date getDateProperty ( final String key ) { Object propertyValue = getProperty ( key ) ; if ( propertyValue != null ) { if ( propertyValue instanceof Date ) { return ( ( Date ) ( propertyValue ) ) ; } else if ( propertyValue instanceof Long ) { return new Date ( ( ( Long ) ( propertyValue ) ) ) ; } else if ( propertyValue instanceof String ) { try { return new Date ( Long . parseLong ( ( ( String ) ( propertyValue ) ) ) ) ; } catch ( NumberFormatException nfe ) { try { <START_BUG> Date date = DateUtils . parseDate ( ( ( String ) ( propertyValue ) ) , new String [ ] { "yyyy-MM-ddTHH:mm:ssZ" , "yyyymmdd" , "yyyymm" , "yyyy" } ) ; <END_BUG> return date ; } catch ( ParseException ex2 ) { AbstractNode . logger . log ( Level . WARNING , ( ( "Could<seq2seq4repair_space>not<seq2seq4repair_space>parse<seq2seq4repair_space>" + propertyValue ) + "<seq2seq4repair_space>to<seq2seq4repair_space>date" ) , ex2 ) ; } AbstractNode . logger . log ( Level . WARNING , "Can''t<seq2seq4repair_space>parse<seq2seq4repair_space>String<seq2seq4repair_space>{0}<seq2seq4repair_space>to<seq2seq4repair_space>a<seq2seq4repair_space>Date."

Fix:
Date date = DateUtils . parseDate ( ( ( String ) ( propertyValue ) ) , new String [ ] { "yyyy-MM-dd'T'HH:mm:ssZ" , "yyyymmdd" , "yyyymm" , "yyyy" } ) ;