code: private Object deserializeIdAttributeValue(final EntityMetadata m, String idValue)
      {
          if (idValue == null)
          {
              return null;
          }
          Class<?> embeddableClass = m.getIdAttribute().getBindableJavaType();
          Object embeddedObject = embeddedObject = KunderaCoreUtils.createNewInstance(embeddableClass);
          List<String> tokens = new ArrayList<String>();
          StringTokenizer st = new StringTokenizer((String) idValue, COMPOSITE_KEY_SEPARATOR);
          while (st.hasMoreTokens())
          {
              tokens.add((String) st.nextElement());
          }
  
          int count = 0;
          for (Field embeddedField : embeddableClass.getDeclaredFields())
          {
              if (!ReflectUtils.isTransientOrStatic(embeddedField))
              {
                  if (count < tokens.size())
                  {
                      String value = tokens.get(count++);
                      PropertyAccessorHelper.set(embeddedObject, embeddedField, value);
                  }
              }
          }
          return embeddedObject;
      }
docs: Prepares Embedded ID field from value prepared via
  serializeIdAttributeValue method.