if (getCacheManager() != null) {
source = new EHCachingPositionSource(source, getCacheManager());
}
if (getUnderlyingClassifier() != null) {
final ComponentInfo info = new ComponentInfo(PositionSource.class, getUnderlyingClassifier());
info.addAttribute(ComponentInfoAttributes.LEVEL, 1);
info.addAttribute(ComponentInfoAttributes.REMOTE_CLIENT_JAVA, RemotePositionSource.class);
repo.registerComponent(info, source);
if (isPublishRest()) {
repo.getRestComponents().publish(info, new DataPositionSourceResource(source));
}