code: @SuppressWarnings("unchecked")
      public BaseBo fromMap(Map<String, Object> data) {
          if (data != null) {
              Lock lock = lockForWrite();
              try {
                  Boolean dirty = DPathUtils.getValue(data, SER_FIELD_DIRTY, Boolean.class);
                  Map<String, Object> attrs = DPathUtils.getValue(data, SER_FIELD_ATTRS, Map.class);
                  this.attributes = initAttributes(attrs);
                  this.dirty = dirty != null ? dirty.booleanValue() : true;
                  triggerPopulate();
              } finally {
                  lock.unlock();
              }
          }
          return this;
      }
docs: De-serialize the BO from a Java map (previously generated by {@link #toMap()}.
  
  <p>
  This method is meant to be used in conjunction with method {@code #toMap()}. Use
  {@link #setAttributes(Map)} to reset just the underlying attribute map.
  </p>
  
  @param data
  BO data as a Java map (generated via {@link #toMap()}
  @return