code: public static Scope from(CompositeData cd) {
          IScope parent = null;
          ScopeType type = ScopeType.UNDEFINED;
          String name = null;
          boolean persistent = false;
          if (cd.containsKey("parent")) {
              parent = (IScope) cd.get("parent");
          }
          if (cd.containsKey("type")) {
              type = (ScopeType) cd.get("type");
          }
          if (cd.containsKey("name")) {
              name = (String) cd.get("name");
          }
          if (cd.containsKey("persistent")) {
              persistent = (Boolean) cd.get("persistent");
          }
          return new Scope(new Builder(parent, type, name, persistent));
      }
docs: Allows for reconstruction via CompositeData.
  
  @param cd composite data
  @return Scope class instance