code: public boolean canAddChildNode(String childNodeName)
     {
        try
        {
           InternalQName cname = locationFactory.parseJCRName(childNodeName).getInternalName();
  
           NodeDefinitionData childNodeDef = nodeTypeDataManager.getChildNodeDefinition(cname, nodeTypeData.getName());
           return !(childNodeDef == null || childNodeDef.isProtected() || childNodeDef.getDefaultPrimaryType() == null);
        }
        catch (RepositoryException e)
        {
           LOG.error("canAddChildNode " + e, e);
           return false;
        }
     }
docs: {@inheritDoc}