@Override
  public BlueDataObject loadFromXML(Element element) {

    String bdoType = element.getAttributeValue("bdoType");

    if (bdoType == null) {
      throw new BlueDataObjectLoadException("Invalid XML found: Could not find bdoType attribute.");
    }

    BlueDataObjectLoader loader = loaders.get(bdoType);
    if (loader == null) {
      throw new BlueDataObjectLoadException(
          "Unable to find loader for BlueDataObject of type: " + bdoType);
    }

    return loader.loadFromXML(element);
  }
  private void updateLoaders(Collection<? extends BlueDataObjectLoader> allInstances) {

    for (BlueDataObjectLoader loader : allInstances) {
      loaders.put(loader.getBlueDataObjectClass().getName(), loader);
    }
  }