@Override public Folder createFolder( String name, Map<String, PropertyData<?>> propMap, String user, Folder parent, List<String> policies, Acl addACEs, Acl removeACEs) { if (null == parent) { throw new CmisInvalidArgumentException("Cannot create root folder."); } else if (hasChild(parent, name)) { throw new CmisNameConstraintViolationException( "Cannot create folder, this name already exists in parent folder."); } FolderImpl folder = new FolderImpl(name, parent.getId()); if (null != propMap) { folder.createSystemBasePropertiesWhenCreated(propMap, user); folder.setCustomProperties(propMap); } folder.setRepositoryId(fRepositoryId); int aclId = getAclId(((FolderImpl) parent), addACEs, removeACEs); folder.setAclId(aclId); if (null != policies) { folder.setAppliedPolicies(policies); } String id = storeObject(folder); folder.setId(id); applyAcl(folder, addACEs, removeACEs); return folder; }