core/src/main/java/com/orientechnologies/orient/core/serialization/serializer/record/binary/ORecordSerializerBinaryV0.java
private List<RecordInfo> getPositionsFromEmbeddedCollection(final BytesContainer bytes, int serializerVersion) {
    List<RecordInfo> retList = new ArrayList<>();

    int numberOfElements = OVarIntSerializer.readAsInteger(bytes);
    //read collection type
    readByte(bytes);

    for (int i = 0; i < numberOfElements; i++) {
      //read element

      //read data type      
      OType dataType = readOType(bytes, false);
      int fieldStart = bytes.offset;      

      RecordInfo fieldInfo = new RecordInfo();
      fieldInfo.fieldStartOffset = fieldStart;
      fieldInfo.fieldType = dataType;

      //TODO find better way to skip data bytes;
      deserializeValue(bytes, dataType, null, true, -1, serializerVersion, true);
      fieldInfo.fieldLength = bytes.offset - fieldStart;
      retList.add(fieldInfo);
    }

    return retList;
  }
private List<RecordInfo> getPositionsFromEmbeddedCollection(final BytesContainer bytes, int serializerVersion) {
    List<RecordInfo> retList = new ArrayList<>();

    int numberOfElements = OVarIntSerializer.readAsInteger(bytes);
    //read collection type
    readByte(bytes);

    for (int i = 0; i < numberOfElements; i++) {
      //read element

      //read data type      
      OType dataType = readOType(bytes, false);
      int fieldStart = bytes.offset;      

      RecordInfo fieldInfo = new RecordInfo();
      fieldInfo.fieldStartOffset = fieldStart;
      fieldInfo.fieldType = dataType;

      //TODO find better way to skip data bytes;
      deserializeValue(bytes, dataType, null, true, -1, serializerVersion, true);
      fieldInfo.fieldLength = bytes.offset - fieldStart;
      retList.add(fieldInfo);
    }

    return retList;
  }
private List < RecordInfo > getPositionsFromEmbeddedCollection ( final BytesContainer bytes , int serializerVersion ) { List < RecordInfo > retList = new ArrayList <> ( ) ; int numberOfElements = OVarIntSerializer . readAsInteger ( bytes ) ; //read collection type readByte ( bytes ) ; for ( int i = 0 ; i < numberOfElements ; i ++ ) { //read element //read data type       OType dataType = readOType ( bytes , false ) ; int fieldStart = bytes . offset ; RecordInfo fieldInfo = new RecordInfo ( ) ; fieldInfo . fieldStartOffset = fieldStart ; fieldInfo . fieldType = dataType ; //TODO find better way to skip data bytes; deserializeValue ( bytes , dataType , null , true , - 1 , serializerVersion , true ) ; fieldInfo . fieldLength = bytes . offset - fieldStart ; retList . add ( fieldInfo ) ; } return retList ; }
returns begin position and length for each value in embedded collection
returns begin position and length for each value in embedded collection