public abstract IBBObjectFactory getThreadFactory();
public abstract IPatternDescriptor getAuthorInfoMemberPattern();
public Map<ID, IThread> parseThreads(final CharSequence seq) {
IPatternDescriptor pattern = getThreadPattern();
IBBObjectFactory factory = getThreadFactory();
Matcher m = pattern.getPattern().matcher(seq);
Map<ID, IThread> threads = new LinkedHashMap<ID, IThread>();
while (m.find()) {
Map<String, Object> values = pattern.getValueMap(m);
ID id = null;
try {
id = factory.createBBObjectId(namespace, baseURL,
(String) values.get(IPatternDescriptor.ID_PARAM));
} catch (IDCreateException e) {