encoder.writeByte(Implementation.MODULE.getId());
encoder.writeString(moduleComponentIdentifier.getGroup());
encoder.writeString(moduleComponentIdentifier.getModule());
encoder.writeString(moduleComponentIdentifier.getVersion());
} else if(value instanceof DefaultProjectComponentIdentifier) {
ProjectComponentIdentifier projectComponentIdentifier = (ProjectComponentIdentifier)value;
encoder.writeByte(Implementation.BUILD.getId());
encoder.writeString(projectComponentIdentifier.getProjectPath());
} else {
throw new IllegalArgumentException("Unsupported component identifier class: " + value.getClass());
}
}