public ResourceProvider<?> getParentResourceProvider() {
if ( ! parentLookupDone ) {
synchronized ( this ) {
if ( this.parentPath != null ) {
String path = this.parentPath;
<BUG>while ( path != null && this.parentProvider != null ) {
</BUG>
final Node<ResourceProviderHandler> node = this.control.getResourceProviderStorage().getTree().getBestMatchingNode(this.parentPath);
if ( node != null ) {
final ResourceProviderHandler handler = node.getValue();

public ResourceProvider<?> getParentResourceProvider() {
if ( ! parentLookupDone ) {
synchronized ( this ) {
if ( this.parentPath != null ) {
String path = this.parentPath;
while ( path != null && this.parentProviderHandler != null ) {
final Node<ResourceProviderHandler> node = this.control.getResourceProviderStorage().getTree().getBestMatchingNode(this.parentPath);
if ( node != null ) {
final ResourceProviderHandler handler = node.getValue();
